使用for循环在c ++中写入许多文件

时间:2017-07-28 22:25:40

标签: c++ io

我尝试将数据写入100个文件gnu_2D_t0_Q_xt_2sol_anal.datgnu_2D_t1_Q_xt_2sol_anal.dat,...,gnu_2D_t100_Q_xt_2sol_anal.dat。使用this question作为灵感,我提出了以下代码片段

int m = 100;
for(int k=0;k<m;k++)
{
    stringstream aa;    // http://www.dreamincode.net/forums/topic/95826-stringstream-tutorial/
    aa << k;
    filename = "gnu_2D_t" + aa.str() + "_Q_xt_2sol_anal.dat";
    files.open(filename.c_str());  // http://www.cplusplus.com/forum/beginner/122208/
    for(int i=0;i<SPACE;i=i+1)
    {
        files << x_begin + (i * h) << setw(18);
        files << Q_xt_matrix[i][t_matrix[m]] << setw(18);
        files << endl;
    }
    files.close;
}

但是,它会产生以下错误

error: invalid use of non-static member function files.close;
                                                            ^

我的代码有什么问题吗?

1 个答案:

答案 0 :(得分:2)

close是一种方法,而不是files的成员。将最后一行更改为files.close()