0

我是C++的新手,我正在學習Visual Studio。 我想製作一個小程序,從命令行讀取文本並打開文本。我知道我的程序必須像這樣開始:文件作爲命令行參數

int main (int argc, char *argv[]){ 

    ifstream File(argv[1]) 

但是我對如何從Visual Studio命令提示符運行它感到困惑。我知道有很多像這樣的問題,但我仍然沒有找到我要找的東西。我讀過你必須去屬性,調試和更改命令行參數,但我需要在那裏放置什麼?我應該在VS命令提示符中輸入什麼內容。

謝謝!

回答

1

對於初學者來說,你的代碼應該開始這樣的: 傳遞argv[1]std::ifstream::ifstream之前,您應該 驗證有一種說法,並輸出一個錯誤消息 否則。事實上,您最終可能會傳遞一個空指針到 的構造函數ifstream,這將導致(通常) 程序崩潰。

至於如何運行它:你把可執行文件放在哪裏?如果 您位於Visual Studio命令提示符窗口中,並且 被調用cl,則默認情況下,可執行文件應位於 本地目錄中。只需輸入.\name,其中name是您程序的名稱 。如果您已經從 IDE中編譯了它,那麼在命令窗口中,您應該使用cd導航 到生成可執行文件的位置(您可以從屬性中找到 ),然後如上所述調用它;或者您可以完全指定路徑 : c:\Users\me\whereeverIPutTheThing\name。如果你想調試(使用調試器),你需要指定: 1)可執行文件的名稱(但默認應該是好的), 2)要傳遞的參數(你想要的請參閱 argv[1] —如果它在 it中有空格,請不要忘記引號)以及3)可執行文件應該運行的目錄。 第二個和第三個有些相互依賴:例如,對於 示例,可以僅指定文件名2,以及文件位於3的路徑,或者可以指定文件名爲2的完整路徑爲 ,以及忘了一下3.或者結合使用 這兩個:在實踐中,我傾向於從根目錄 做一切項目,所以我會指定一個相對於這個目錄的路徑,然後我的項目的路徑文件到這根 在第3(我們有事情成立的方式,這是..\..\..,但 我想你會發現它有點短。)

2

從菜單中找到:項目 - >道具ERTIES。或者從解決方案資源管理器樹中右鍵單擊項目並選擇屬性。

現在,在打開的對話框中的左側窗格中選擇:配置屬性 - >調試

然後在右窗格中找到網名爲行:命令參數

與輸入文件名填充它(我認爲你最好把它放在那裏作爲一個完整的路徑,如果在雙配額路徑使用空間是這樣的:

沒有空間:

filepathwithoutspace.txt 

或帶空格:

"file path with spaces.txt" 

祝你好運。