2012-08-09 21 views
17

我正在使用codeblock版本10.05編寫一個C代碼。如何在Codeblock 10.05中使用命令行參數?

該方案是:

int main(int argc , char *argv[]) 
{ 
    printf("Entered number is %s \n", argv[1]); 
    return 0; 
} 

然而,當我編譯當前文件,&然後運行該程序,將出現一個終端。但是,該終端不等待命令行輸入&它直接輸出

<null> 

注意,在上述程序中,我已經省略了代碼,用於處理數零的命令行參數。 我如何提供命令行參數?

回答

36

隨着代碼::塊,你可以在菜單中設置您的命令行參數如下:

Project > Set programs' arguments...

這將打開一個窗口,您可以將您的參數。

+0

只需注意代碼塊比我的應用程序更具錯誤:)。 Codelite更穩定。 – tncas 2013-03-10 05:15:32

0

argv中的命令行參數是當程序執行執行時在命令行上傳遞給程序的參數。爲了在程序執行期間執行用戶輸入,您需要使用更多代碼,例如, scanffgets

如果您從IDE運行程序,應該有一些方法,例如,項目屬性,在運行時將參數傳遞給程序。對於CodeBlocks,請檢查項目菜單:Project-> Set Program Arguments

如果你可以在終端運行您的程序,你可以自己傳遞參數,例如:

$ myProgram argument1 

然後在你的代碼,argv[1]將包含字符串:"argument1"

+2

那麼,我的要求是不要在執行時輸入數據。我只想從命令行參數中獲得輸入。上面的程序與ubuntu平臺v 12.04完美結合。爲什麼我無法在codeblock環境下使用命令行參數? – 2012-08-09 17:15:48

2

如果你想要你可以點擊Project - > Set Program Arguments,你需要在你的代碼之前創建一個項目。