-2

为什么下面的程序会陷入无限循环?

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';
    }
}
4

1 回答 1

2

getline() 的第二个参数是流大小,第三个参数是分隔符。

而不是这个:

file.getline(line,'\n');

试试这个:

file.getline(line,256,'\n');
于 2012-04-29T18:06:56.100 回答