写入c ++文件,直到达到指定的文件大小

时间:2011-11-22 00:14:01

标签: c++ filesystems

我正在编写一个c ++程序来写入指定大小的文本文件。我最初创建一个大小指定为2 KB的文本文件,我想继续写入此文件,直到达到2 KB限制并且该点通知用户。我不确定最好的方法是什么。 我正在寻找一个跨平台的解决方案。像libevent(http://libevent.org/)这样的东西会对此有好处还是我错过了一些更简单的东西。

任何建议/帮助都非常感谢。

由于

1 个答案:

答案 0 :(得分:3)

#include <fstream>

int main()
{
    std::ofstream ofs("output.img", std::ios::binary | std::ios::out);
    ofs.seekp((2<<10) - 1);
    ofs.write("", 1);
}
  • 如果您想检测filepos,可以使用std::ofstream::tellp()
  • 或者,sync + stat将能够在不重新打开文件的情况下获取最新的文件大小