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 回答