我在嘗試讀取外部文本文件時遇到問題。 顯示的文本是正確的,但是當涉及到將數據保存到數組中時,它似乎是錯誤的。ifstream嘗試將數據保存到數組時遇到錯誤
我的輸入數字是4 2 8 0 2 3 0 4 0 5,但是在遍歷數組後,a [i]只出現'48'。
#include <iostream>
#include <windows.h>
#include <fstream>
#include <string>
void begin();
void Process (string);
using namespace std;
int main()
{
begin();
system("pause");
return 0;
}
void begin (void){
string file = "data.txt";
Process(file);
}
void Process (string file)
{
int i=0,ch, n = 0, temp, a[50];
ifstream infile;
infile.open(file.c_str());
該錯誤似乎是由此引起的。
if(infile.is_open())
{
cout << "File to be read: " << file << endl;
cout << "\n\n";
infile >> temp;
while(!infile.fail())
{
cout << temp << " ";
infile >> temp;
a[i] = temp;
i++;
n++;
}
cout << "\n\n";
cout << "This file has " << n << " numbers. \n\n";
}
else
cout << "The file isn't available! \n\n";
infile.close();
當我嘗試輸出結果時,只出現了48。
for (int z = 0; z < i; z++)
{
cout << a[i] << endl;
}
}
我是新來的。請幫忙。提前致謝。