向c+写入+;直到达到指定的文件大小 我正在编写一个C++程序来写入指定大小的文本文件。我最初创建一个指定大小的文本文件,比如说2KB,我想继续写入这个文件,直到达到2KB的限制,并通知用户。我不知道最好的办法是什么。 我正在寻找一个跨平台的解决方案。你想喝点什么吗(http://libevent.org/)要做好这件事,否则我会错过更简单的事情

向c+写入+;直到达到指定的文件大小 我正在编写一个C++程序来写入指定大小的文本文件。我最初创建一个指定大小的文本文件,比如说2KB,我想继续写入这个文件,直到达到2KB的限制,并通知用户。我不知道最好的办法是什么。 我正在寻找一个跨平台的解决方案。你想喝点什么吗(http://libevent.org/)要做好这件事,否则我会错过更简单的事情,c++,filesystems,C++,Filesystems,非常感谢您的任何建议/帮助 谢谢#包括 int main() { ofs流的std::of(“output.img”,std::ios::binary | std::ios::out); ofs.seekp((2#包括 int main() { ofs流的std::of(“output.img”,std::ios::binary | std::ios::out); ofs.seekp((2Loop,count,break if>threshold.see related:Loop,count,b

非常感谢您的任何建议/帮助

谢谢

#包括
int main()
{
ofs流的std::of(“output.img”,std::ios::binary | std::ios::out);
ofs.seekp((2<代码>#包括
int main()
{
ofs流的std::of(“output.img”,std::ios::binary | std::ios::out);

ofs.seekp((2Loop,count,break if>threshold.see related:Loop,count,break if>threshold.see related:@abababeel:那么你也写过了。@abababeel:不要停止阅读代码。答案的其余部分包含如何监控文件大小的提示!我要失明或低血糖了(我不知道是哪一个)。谢谢,我没有读最后两行。我很抱歉。请再帮我一点忙。我想我在写入文件时无法获取文件大小。例如,我正在执行->while(I++<1024){outfile 1024)break;}。文件大小似乎为零。我尝试使用各种方法获取文件大小,stat、ifstream::tell等。请告知,谢谢。
stat
需要fsync(因此文件系统驱动程序不会只告诉您最后已知的大小)如果stream::tell听起来不对;你写的
ostream::tellp
看起来很正常。别忘了
ofs@ababeel:那么你也写了。@ababeel:不要停止阅读代码。答案的其余部分包含如何监控文件大小的提示!我会失明或低血糖(我不知道是哪种情况)。谢谢,我没有读最后两行。我很抱歉。请再帮我一点忙。我想我在写入文件时无法获取文件大小。例如,我正在执行->while(I++<1024){outfile 1024)break;}。文件大小似乎为零。我尝试使用各种方法获取文件大小,stat、ifstream::tell等。请告知,谢谢。
stat
需要fsync(因此文件系统驱动程序不会只告诉您最后已知的大小)而且ifstream::tell听起来不对;您编写的是一个
ostream::tellp
。别忘了
ofs
#include <fstream>

int main()
{
    std::ofstream ofs("output.img", std::ios::binary | std::ios::out);
    ofs.seekp((2<<10) - 1);
    ofs.write("", 1);
}