无法在程序中获得正确的输出

时间:2014-05-02 19:24:19

标签: c++

#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int main() {
    fstream file("file.txt");
    file << "this is new line" << endl;
    file.flush();
    string c;
    file >> c;
    cout << c << endl;
    file.close();
}

当我运行此输出为空时,如果我删除行file << "this is new line" << endl;我得到正确的输出,为什么?

1 个答案:

答案 0 :(得分:1)

通过写入文件,您将内部文件指针移动到它的末尾。这意味着下次您阅读时,您将在文件的末尾,因此不会读取任何内容。

查看seek()移动文件指针。