我正在尝试使用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;
}