9
ifstream infile;

string read_file_name("test.txt");

infile.open(read_file_name);

string sLine;

    while (!infile.eof())
    {
        getline(infile, sLine);         
        cout << sLine.data() << endl;
    }

    infile.close();

该程序打印文件中的所有行,但我只想打印第一行。

4

2 回答 2

18

while (!infile.eof())没有按您的预期工作,eof看到一个有用的链接

对您的代码进行小幅修复,应该可以:

  ifstream infile("test.txt");

  if (infile.good())
  {
    string sLine;
    getline(infile, sLine);
    cout << sLine << endl;
  }
于 2013-02-14T04:52:39.197 回答
1

你可以试试这个:

ifstream infile;

string read_file_name("test.txt");

infile.open(read_file_name);

string sLine;

while (!infile.eof())
{
    infile >> sLine;
    cout << sLine.data() << endl;

}

infile.close();

这应该逐行打印文件中的所有行。

于 2013-02-14T04:52:00.897 回答