写入c++文件,直到达到指定的文件大小
Writing to c++ file till a specified file size is reached
我正在编写一个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
将能够获得最新的文件大小,而无需重新打开文件
相关文章:
- 读取某些文件时出现分段错误,似乎与文件大小无关
- 构建挂起,即使是适度的文件大小
- 如何在Windows内核中获取文件大小
- 在文件中写入而不是在 c++ 中使用 "<<" 的替代方法?
- 为什么 QFileSystemWatcher 会发出多个信号?而 QFileInfo 首次写入零文件大小
- 使用 C++ iOS::ate 获取错误的文件大小
- 相同的源代码,不同的可执行文件大小?
- 为什么未关闭的文件大小为 4 字节
- ifstream 读取的字符与文件中写入的字符不同
- 从文件读取,并循环访问文件以写入数组
- 错误的值是使用c++从CSV文件数据写入数组
- 我们可以在INI文件中使用 #ifdef 宏,或者我们如何限制INI文件中写入的设置的编译?
- 读取二进制文件大小的短自上周以来停止工作
- 如何减小C++标准库libstdc++.so文件大小
- 在二进制文件中写入对齐的数据
- 文件大小和缓冲区过冲
- 如何从范围 v3 的istream_range中检索文件大小?
- 如何使用直接IO编写一个带有扩展文件大小的小文件
- 如何使用文件系统库获取"true"文件大小?(C++17)
- 写入c++文件,直到达到指定的文件大小