2013年10月12日 星期六

argc與argv

常見的為主程式 main() 有兩個引數 argc 與 argv [1],即函數 main 標題的定義為


main( int argc, char *argv[] )
其作用是 執行該檔 及 所相隨的 option。
如果將一程式 file.c 編譯完之後, 產生一 執行檔 file.exe。 當執行 file.exe 如
c:> file option1 option2 option3
則執行 file.exe 時, argc 的值為 4, argv 則 含 4 個字串,即
argv[0]="file"、 argv[1]="option1"、 argv[2]="option2"、 argv[3]="option3"。
如此一來 程式的設計, 可以有 較多的彈性。

【說明】[4]:
1、argc 與 argv為C語言的關鍵字,是專門用在命令列的參數名。
2、argc是argument count(參數總和)的縮寫,代表包括指令本身的參數個數。系統會自動計算所輸入的參數個數。
3、argv則是argument value的縮寫。代表參數值。也就是使用者在命令列中輸入的字串,每個字串以空白相隔。同時,系統會自動將程式本身的名稱指定給argv[0],再將程式名稱後面所接續的參數依序指定給argv[1]、argv[2]….。

試試看這個例子[3]:
#include ;
int main(int argc, char *argv[])
{
printf("%d\n",argc);
while(argc)
printf("%s\n",argv[--argc]);
return 0;
}
假設將其編譯為test.exe,
在命令行下,
test hello
得到的輸出結果為:
2
hello
test

沒有留言:

張貼留言