-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')。它什麼也沒做。 –