-2
我想通過獲取用戶輸入來打開一個文本文件。我想用C++中的記事本打開一個文件,但是如何?
system(topicName.c_str());
不工作,其中topicName是用戶輸入。
即使作爲一個用戶,我輸入它不與相應的文件打開文件(.txt)的名稱權
cout << "Intro To C " <<endl;
cout << "Intro To C++" <<endl;
cout << "Intro To Java " <<endl;
cout << "\t\tWhich Topic You Want to edit: ";
cin.ignore(1000, '\n');
getline(cin, topicName);
system(topicName.c_str());
的'system'功能運行的程序。你最有可能不會有一個名爲'Intro'的程序,它的參數是'To'和'C'(例如)。假設你在Windows上(因爲你提到了「記事本」),請閱讀[this' system'參考](https://msdn.microsoft.com/en-us/library/277bwbdz.aspx)以獲取更多信息。 –
我明白了。但它使用例如系統(「topiclist.txt」)時正在工作。 如果這是應該的方式,那麼有什麼其他的替代方案可以從用戶那裏獲得輸入並用相應的名稱打開文件? –
發佈一個可以重現問題的[最小,**完整**可驗證示例](https://stackoverflow.com/help/mcve)。我很難看清那種「忽略」的意思。您只有一個輸入操作:包含文件名的行後跟一個換行符。這意味着'ignore'會消耗(並且不辜負它的名字)長達1000個字符,直到換行(大概是你的文件名)。因此,讓你盯着閃爍的提示,沒有什麼可以顯示的。或者你在輸入中輸入**兩行**行嗎?發佈一個真正的,*完整*,'main()',這會產生你的問題。 – WhozCraig