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

Writing to c++ file till a specified file size is reached

本文关键字:文件大小 写入 文件 c++      更新时间:2023-10-16

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

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

谢谢

#include <fstream>
int main()
{
    std::ofstream ofs("output.img", std::ios::binary | std::ios::out);
    ofs.seekp((2<<10) - 1);
    ofs.write("", 1);
}
  • 如果你想检测文件,你可以使用std::ofstream::tellp()
  • 或者,sync + stat将能够获得最新的文件大小,而无需重新打开文件