我的文件流有问题。我需要的是打开文件,读取它,然后在上面写一些值。这就是我现在拥有的
std::string filename;
std::fstream save_file;
save_file.open(SAVED_HASH, std::fstream::in | std::fstream::out | std::fstream::binary);
while (save_file >> filename);
save_file.seekg(save_file.beg);
save_file << " more lorem ipsum";
save_file.close();
当我尝试运行它时,我得到的只是一个空文件。但是如果我删除第 4 行它会起作用。这段代码有什么问题,为什么我不能读取文件,然后写入
最佳答案
我能发现的一个错误是在
之后while (save_file >> filename);
您需要清除错误标志。
save_file.clear();
另外,IMO 你需要使用 seekp
而不是 seekg
因为你想在这个位置“写”。
查看此链接以获取示例 http://www.cplusplus.com/reference/ostream/ostream/seekp/?kw=seekp
关于c++ - 使用输入和输出选项读取文件流后无法写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20314214/