2017-09-22 50 views
0

我正在編寫一個程序來創建一個詞梯。後者一個字從字A到B.詞。例如作爲命令行參數傳入字符串

頭的路徑 - >癒合 - >水鴨 - >推薦 - >高大 - >尾

在我的主文件,我應該傳入這些命令行參數:包含字典的.txt文件的文件名,起始字,結束字以及允許從a到b的步驟數。我認爲你只是把參數放在main上,但它不起作用。我有

int main(int argc, char* argv[], string start, string end, int steps) 
{ 
    return 0; 
} 

當我嘗試編譯時,它給了我兩個警告。第一個人希望我的字符串是char **。第二個說它只需要兩個參數爲零。

如何從命令行傳遞文件名,兩個字符串和一個整數?

+4

您是否試過[google搜尋](https://www.google.com/search?q=c%2B%2B+command+line+arguments&oq=c%2B%2B+command+line+arguments&aqs=chrome。 .69i57j69i60l5.3199j0j7&sourceid = chrome&ie = UTF-8)弄清楚命令行參數如何在C++中工作? – scohe001

+0

相關/ dupe:https://stackoverflow.com/questions/6361606/save-argv-to-vector-or-string – NathanOliver

回答

1

main的第一個參數是命令行上的參數數量。

第二個參數是指向參數文本(C樣式字符數組)的指針數組。

如果執行如下程序:

homework1.exe dictionary.txt alpha eclipse 25 

參數計數變量將包含5(包括程序名)。 這裏是指針數組怎麼會是這樣的:

[0] "homework1.exe" 
[1] "dictionary.txt" 
[2] "alpha" 
[3] "eclipse" 
[4] "25" 
[5] nullptr 

注意,步數將在文本格式,你將需要從文本格式轉換爲內部格式。一種轉換方法是使用std::istringstream

相關問題