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は1つの便利なリンクを参照してください

コードのマイナーな修正は、機能するはずです:

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

これにより、ファイル内のすべての行が1行ずつ印刷されます。

于 2013-02-14T04:52:00.897 に答える