我尝试从一个文本文件中读取数据,清除它,然后使用fstream类按照这个顺序写入它。
我的问题是如何在读取文件后清除该文件。我知道我可以同时打开一个文件并清除它,但是有没有什么函数可以让我调用流来清除它的内容呢?
发布于 2010-01-16 16:52:55
您应该打开它,执行输入操作,然后关闭它,并使用std::fstream::trunc标志设置重新打开它。
#include <fstream>
int main()
{
std::fstream f;
f.open("file", std::fstream::in);
// read data
f.close();
f.open("file", std::fstream::out | std::fstream::trunc);
// write data
f.close();
return 0;
}发布于 2010-01-16 21:52:51
如果您希望在发生崩溃或其他灾难性事件时完全安全,则应该对第二个临时文件执行写入操作。完成后,删除第一个文件并将临时文件重命名为第一个文件。有关此操作的帮助,请参阅Boost Filesystem库。
https://stackoverflow.com/questions/2076723
复制相似问题