把文件输入数组错误!!!

来源:百度知道 编辑:UC知道 时间:2024/06/26 03:45:13
#include<iostream.h>
#include<fstream>
using namespace std;
int main()
{
int a[10];
ifstream infile("f1.txt",ios::in|ios::nocreate);
if(!infile)
{cerr<<"open error"<<endl;
exit(1);
}
for(int i=0;i<10;i++)
{

infile>>a[i]>>" ";
cout<<a[i];
}
infile.close();
return 0;
}
我把f1.txt 文件内容为1,2,3,4,5,6,7,8,9,10
编译通过但是运行exe文件时错误!

infile>>a[i]>>" ";

改成

infile>>a[i];

basic_istream的继承类读取数据时都是默认skipws(跳过空白)的, 还有就算你这样:

infile >> " "
也不对, " "是一个temp量, 你去改它的值的时候infile可能修改到内存中其他量的值, 所以会出错.