我如何从文件中读取第一行?

时间:2013-02-14 04:44:08

标签: c++

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();

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

2 个答案:

答案 0 :(得分:13)

while (!infile.eof())无法按预期运作,eof查看一个有用的link

对您的代码进行小修复,应该有效:

  ifstream infile("test.txt");

  if (infile.good())
  {
    string sLine;
    getline(infile, sLine);
    cout << sLine << endl;
  }

  infile.close();

答案 1 :(得分:0)

你可以试试这个:

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();

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