C ++如何创建一个函数在文件中写入数据,以便使用不同的名称进行多次使用

时间:2014-12-16 08:13:17

标签: c++

我在数组中有一些数据,可以在大约五到六个步骤中进行操作。在每个步骤之后,我希望程序使用操纵数据编写文件。这是其工作代码:

ofstream mirroreddata("mirroreddata.dat", ios::out);   
for (int i = 0; i < n_values; i++)
{
    mirroreddata << datavector[i] << "\n";     
}
mirroreddata << endl;                                  
mirroreddata.close();    

问题是,我不想多次写这个东西。我想创建一个函数,我只需要调用文件名(这里:mirroreddata)和n_values以及datavector。赋予函数datavector和n_values没问题,但是如何告诉她在新文件中写入数据?这是代码片段,但它不对:

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;                               
}

那么如何调用它,但是在一个新文件中写入数据(例如文件中的平滑数据“平滑”)?

感谢您的回答

1 个答案:

答案 0 :(得分:0)

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

#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;                               
}