-1
你能帮我吗?我是truna创建一个程序,支持cmd
- >int main(int argc, char *argv[])
。使用类,我想创建一个写作我的信息的方法。 .txt文件的名称是第三个参数。使用C++类从.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);
}
}
你试过路过的argv [3]打开()?发生了什么? 你试过调试你的程序吗? – roalz
不确定你的意思,但你可以将'argv [3]'作为'char * fileName'传递给你的函数,或者你需要什么? – xander
@roalz是的,我试图将'argv [3']传递给'open()'。它创建了一个名称在我的方法中命名的文件('1.txt')。但是,如果我给另一个名称作为参数(例如:'2.txt')。它什么也没做。 –