以下代码旨在遍历我先前打开的文件的最后十行。我认为seekg函数引用二进制文件,并且仅处理单个字节的数据,因此这可能是我的问题。

    //Set cursor to 10 places before end
    //Read lines of input
    input.seekg(10L, ios::end);

    getline(input, a);

    while (input) {
        cout << a << endl;
        getline(input, a);
    }

    input.close();
    int b;
    cin >> b;
    return 0;
}

我想做的另一种方法是只计算文件最初循环通过的次数,然后减去十,然后计算该次数,然后输出下一个十,但这似乎很广泛我想要做。

是否有类似seekg的内容会转到文本文件中的特定行?还是应该使用上面建议的方法?

编辑:我回答了我自己的问题:循环的事情就像6多行代码。

最佳答案

向后搜索换行符10次,或者直到文件光标小于或等于零为止。

关于c++ - 从C++文件中读取特定行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50310249/

10-12 00:12
查看更多