为什么以下程序陷入无限循环?
int main()
{
string fname = "C:\\Program Files\\Microsoft Visual Studio 9.0\\VC\\include\\stdio.h";
char line[985];
ifstream file(fname.c_str());
if(file == NULL)
{
cout<<"unable to open";
exit(0);
}
while(!file.eof())
{
file.getline(line,'\n');
cout<<line<<'\n';
}
}
答案 0 :(得分:2)
getline()的第二个参数是流大小,第三个是分隔符。
而不是:
file.getline(line,'\n');
试试这个:
file.getline(line,256,'\n');