簡體   English   中英

文件作為命令行參數

[英]File as Command Line arguments

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

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

    ifstream File( argv[1] )

但是我對如何從Visual Studio命令提示符運行它感到非常困惑。 我知道有很多這樣的問題,但我仍然沒有找到我想要的東西。 我讀到您必須去屬性,調試並更改命令行參數,但是我到底需要在其中放什么呢? 我應該在VS Command Prompt中輸入什么。

謝謝!

從菜單中找到:項目->屬性。 或從“解決方案資源管理器”樹中右鍵單擊項目,然后選擇“屬性”。

現在,在打開的對話框的左窗格中,選擇:Configuration Properties-> Debugging

然后在右窗格的網格中找到標題為:Command Arguments的行。

用輸入文件名填充它(我認為您最好將其作為完整路徑放在此處,如果該路徑中有空格使用雙重配額。如下所示:

沒有空間:

filepathwithoutspace.txt

或帶空格:

"file path with spaces.txt"

祝好運。

對於初學者,您的代碼不應以這樣的方式開始:在將argv[1]傳遞給std::ifstream::ifstream ,應驗證是否有參數,否則輸出錯誤消息。 ifstream ,您可能最終將空指針傳遞給ifstream的構造函數,這將(通常)導致程序崩潰。

至於如何運行它:您將可執行文件放在哪里? 如果您位於Visual Studio命令提示符窗口中,並且已調用cl ,那么默認情況下,可執行文件應位於本地目錄中。 只需輸入.\\name ,其中name是您的程序的名稱。 如果您實際上是在IDE中進行編譯的,則應在命令窗口中使用cd導航至可執行文件的生成位置(可以從屬性中找到),並按上述方式調用它; 或者您可以完全指定路徑: c:\\Users\\me\\whereeverIPutTheThing\\name

如果要調試(使用調試器),則需要指定:1)可執行文件的名稱(但默認值應該是好的),2)傳遞給它的參數(要在argv[1]看到的內容argv[1] —如果其中有空格,請不要忘記引號。)3)可執行文件應運行的目錄。 第二個和第三個在某種程度上是相互依賴的:例如,您可以在2中僅指定文件名,在3中指定文件所在的路徑,也可以在2中指定文件名的完整路徑,而忽略3。或兩者結合使用:在實踐中,我傾向於從項目的根目錄開始執行所有操作,因此我將在3中指定相對於此目錄的路徑,然后從項目文件到此根目錄的路徑。 (我們的設置方式是..\\..\\.. ,但我想您會發現它稍微短一些。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM