C++ 编写文本文件c+的有效方法+;

C++ 编写文本文件c+的有效方法+;,c++,C++,我正试图用最少的时间编写大型文本文件。首先,我必须用空空间初始化一个文件。我的方法是制作一个字符数组,比如250字节,然后将其复制到文件中。我认为这不是一个有效的方法。还有更好的主意吗 char buff[250]; ofstream ofile; ofile.open("abc.txt"); for(long int i=0;i<20970;i++) { ofile<<buffer; ofile<<endl; } charbuff[250]; 气流;

我正试图用最少的时间编写大型文本文件。首先,我必须用空空间初始化一个文件。我的方法是制作一个字符数组,比如250字节,然后将其复制到文件中。我认为这不是一个有效的方法。还有更好的主意吗

char buff[250];
ofstream ofile;
ofile.open("abc.txt");
for(long int i=0;i<20970;i++)
{
  ofile<<buffer;
  ofile<<endl;
 }
charbuff[250];
气流;
开放文件(“abc.txt”);

对于Windows中的(long int i=0;i,您可以使用创建给定大小的文件。在Linux中,它是


写入时还要确保优化缓冲区大小。最佳缓冲区大小取决于系统内部,如页面大小。但在大多数情况下(如果不是嵌入式系统),4-128kb是一个合适的大小。

您可以搜索到文件末尾并写入单个字符:

#include <fstream>

using namespace std;

int main(int argc,char** argv) {
    ofstream o("file") ;
    o.seekp(100 * 1024 * 1024);
    o << '\0';

    return 0;
}
#包括
使用名称空间std;
int main(int argc,字符**argv){
流o(“文件”);
o、 seekp(100*1024*1024);

o您尝试将一行复制到一个文件中大约21000次?是的,目的是用空空格初始化它。这听起来可能是一个错误。您实际尝试完成的是什么?