fstream不支持动态创建文件

时间:2011-01-05 23:08:37

标签: c++ fstream ofstream

我正在尝试动态创建文件,似乎没有办法使用fstream。实际上有吗?

#include <iostream>
#include <fstream>
using namespace std;

int main () {

for (int i = 0; i<2; ++i){
 std::ofstream outfile
 outfile.open ((char)i+"sample_file.txt"); // something like this. numbers appended to the filename
 outfile << i;
 outfile.close();
 }
}

1 个答案:

答案 0 :(得分:5)

如果您的意思是在运行时创建名称,那么是,但您必须以有效的方式构建您的名称。例如。 (在#include <sstream>之后):

std::ostringstream fname;
fname << "sample_file_" << i << ".txt";

outfile.open(fname.str().c_str());