C ++在循环中打开多个流

C++ open multiple ofstreams in a loop

我需要用 ofstream 打开未定义数量的文件来写入。文件名的格式应为 plot1.xpm、plot2.xpm、plot3.xpm、...。 该程序如下所示: 我不知道我应该给星星加什么。

for(m = 0; m < spf; m++){
    //some calculations on arr[]
    ofstream output(???);
    for(x = 0; x < n; x++){
        for(y = 0; y < n; y++){
            if (arr[x*n + y] == 0)
                output<<0;
            else output<<1;
        }
        output<<'\n';
        output.close();
    }

使用to_string:

std::string filename = "plot" + std::to_string(m) + ".xpm";
std::ofstream output(filename.c_str());

如果模式比较复杂你也可以使用std::stringstream:

std::stringstream filename_stream;
// use "operator<<" on stream to plug in parts of the file name
filename_stream << "plot" << m << ".xpm";
std::string filename = filename_stream.str();
std::ofstream output(filename.c_str());