ifstream olympicsStream;
        olympicsStream.open("olycs105.txt");



  这是打开文件的地方


        olympicsStream >> firstcountry; // string variable for countries
        while (firstcountry!="END_OF_FILE")//



  无法弄清楚放置在这里的状况


        {

            cout << firstcountry << endl;
            olympicsStream >> a;
            cout << a << endl;

            for (i = 0; i < 5; i++)
            {
                olympicsStream >> namelast[i];
                olympicsStream >> namefirst[i];
                olympicsStream >> b[i];
                olympicsStream >> c[i];
                olympicsStream >> d[i];
                getline(olympicsStream, Asport[i]);
            }


            cout << namelast[i - 1] << endl;
            cout << namefirst[i - 1] << endl;
            cout << b[i - 1] << endl;
            cout << c[i - 1] << endl;
            cout << d[i - 1] << endl;
            cout << Asport[i - 1];
        }



  循环需要5行,但是无限地循环同一行,而不是遍历文件的其余部分

最佳答案

您忘记在while循环结束时更新变量“ firstcountry”。

只需在关闭while循环之前添加olympicsStream >> firstcountry;,您的代码即可正常运行

假设文件中的最后一个单词是“ END_OF_FILE”

10-07 12:09