2

テキストファイルに書き込むことはできましたが、読み取りファイルに問題がありました。これが私のコードです:

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main()
{
    string line, s;
    ofstream out_file;
    out_file.open("hello.txt");
    for(int count = 0; count< 5; count++)
    {
        out_file << "Hello, World" << endl;
    }
    out_file.close();

    ifstream in_file;
    in_file.open("hello.txt");
    if (in_file.fail())
    {
        cout << "File opening error. " << endl;
    }
    else
    {
        while(getline(in_file,line))
        {
            in_file >> s;
            cout << s << endl;
        }
    }
    in_file.close();

    system("Pause");
    return 0;
}

"Hello, World" を 5 回テキスト ファイルに書き込むことができました。ただし、プログラムを実行すると、「Hello」が 4 回表示され、5 行目に「World」が表示されるだけです。私のコードから、「Hello, World」を 5 回出力することになっていませんか? 誰かがエラーの場所を指摘できますか?

4

2 に答える 2

3

Getline を実行し、演算子を使用してファイルを読み取ります>>

試してみてください

while(getline(in_file,line))
{
    cout << line << endl;
}
于 2013-05-28T13:01:18.580 に答える
3
  while(getline(in_file,line))
{
    in_file >> s;
    cout << s << endl;
}

次のようにする必要があります。

while(getline(in_file,line))
{
    cout <<line<< endl;
}

ファイルから に読み込むためline、 ではありませんs。そのため、内容を内部に印刷する必要がありますline

于 2013-05-28T12:59:44.343 に答える