-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() の 2 番目の引数はストリーム サイズで、3 番目は区切り文字です。

これの代わりに:

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

これを試してください:

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