使用类C ++从.txt文件读取

时间:2017-02-24 10:40:03

标签: c++ class

你能帮帮我吗?我是创建一个支持cmd - > int main(int argc, char *argv[])的程序。使用类,我想创建一个写入我的信息的方法。 .txt文件的名称是第三个参数。

我的问题是我需要open()我的文件,但文件的名称可以更改。我试图打开指定的文件1.txt。但是,我应该如何在cmd中提供文件的名称,因为Header中的方法会看到该名称?

我在标题中的方法:

void recordData()
{
    wRecord.open("1.txt", std::ios_base::app);//the hard way to create a file in this method. 

    int i=0;
        wRecord  << "Name of your city: " << Name << std::endl;
        ......................................................
        wRecord  << "Quanity of schools in your city: " << Schools << std::endl;
        wRecord  << std::endl;
}

但我认为它应该是wRecord.open(argv[3], std::ios_base::app);。但是如何正确地给出argv[3]

我的代码,当我致电void recordData()时:

if (argv[1] == create)
    {
        wRecord.open(argv[3], std::ios_base::app);// here is I put any name of file
     //But I can't use any name because in method there is only `1.txt`
        if (!wRecord)
        {
            std::cerr << "Error: canNOT oprn a text file" << std::endl;
            exit(-1);
        }
    }

1 个答案:

答案 0 :(得分:0)

你应该在recordData()函数中添加一个char *参数,以便将它从main()argv []传递给wRecord.open()。

即:

df.assign(Gmean=df.iloc[:, :3].prod(1) ** (1. / 3))

   Col1  Col2  Col3  Col4     Gmean
0     1     2     3   2.2  1.817121