C++如何创建文件中的数据,多个文件使用不同的名称

C++如何创建文件中的数据,多个文件使用不同的名称,c++,C++,我在一个数组中有一些数据,这个数组大约分五到六步操作。在每一步之后,我希望程序编写一个包含被处理数据的文件。这是工作代码: ofstream mirroreddata("mirroreddata.dat", ios::out); for (int i = 0; i < n_values; i++) { mirroreddata << datavector[i] << "\n"; } mirroreddata << endl;

我在一个数组中有一些数据,这个数组大约分五到六步操作。在每一步之后,我希望程序编写一个包含被处理数据的文件。这是工作代码:

ofstream mirroreddata("mirroreddata.dat", ios::out);   
for (int i = 0; i < n_values; i++)
{
    mirroreddata << datavector[i] << "\n";     
}
mirroreddata << endl;                                  
mirroreddata.close();    
问题是,我不想把这东西写多次。我想创建一个只需调用文件名的函数:mirroreddata和n_值以及datavector。给函数提供datavector和n_值没有问题,但是如何告诉她将数据写入新文件?这是用于此的代码片段,但不正确:

void CreateDataOutputFile(int n_values, double* datavector)
{
    ofstream mirroreddata("mirroreddata.dat", ios::out);                                                    
    for (int i = 0; i < n_values; i++)
    {
        mirroreddata << datavector[i] << "\n";      
    }
    mirroreddata << endl;                               
}
那么,如何调用它,但在一个新文件中写入数据,例如文件平滑中的平滑数据


感谢您的回答

简单:为文件名添加另一个参数:

#include <string>

void CreateDataOutputFile(int n_values, double* datavector, const std::string& fname)
{
    ofstream mirroreddata(fname, ios::out);                                                    
    for (int i = 0; i < n_values; i++)
    {
        mirroreddata << datavector[i] << "\n";      
    }
    mirroreddata << endl;                               
}

是否为文件名传递另一个参数?