在多个文件上写入的fstream限制

时间:2017-01-17 19:43:45

标签: c++ fstream ofstream

我正在尝试使用ofstream编写多个文件。 问题是我无法同时写入超过1020个文件。 我不明白这是我的笔记本电脑问题还是它是fstream的内部限制。

我写了一个简化版的程序。显然,在这个例子中,没有必要打开多个fstream频道。

#include <fstream>
#include <vector>

using namespace std; 

int main(){
  vector<ofstream> write(2000);
  char namefile[50];

  for(int i=0; i<2000; i++){
    sprintf(namefile,"text_%d.txt",i);
    write[i].open(namefile, ofstream::out);

    if (write[i].fail())
      printf("Error writing to %s\n", namefile);

    write[i] << "Hello!";
    write[i].flush();
  }

  for(int i=0; i<2000; i++)
    write[i].close();

  return 0;
}

0 个答案:

没有答案