1

私のプログラムは *.txt ファイルを読み取り、ファイルの行を逆方向に出力します。その前に行番号を取得したかったのです。ループを実行した後、番号を取得しましたが、「for ループ」の後のすべてが印刷/機能していません。私のコードの何が問題なのですか?

    if (testFile.good()) {

        int countLines = 0;
        string temp;

        for (int i = 0; getline(testFile, temp); i++)
                    countLines++;

        cout << countLines;

        aline.readLine(testFile);
}
4

2 に答える 2

2

ストリーム フラグをリセットして、アフターループで再び「何かを実行」できるようにします。aline.readLine(testFile);for

testFile.clear();
testFile.seekg(0, testFile.beg);
于 2013-10-02T15:44:01.347 に答える
1

getline(testFile, temp) ファイルの最後まで繰り返し呼び出すと、

その後、あなたはもっと読むことができません。

rewindファイルの先頭に追加する必要があります。

于 2013-10-02T15:42:32.910 に答える