講解命令列引數
阿新 • • 發佈:2018-11-10
命令列(command line):是在命令列環境中,使用者為執行程式輸入命令的行。
命令列引數(command-line argument): 是同一行的附加項。
C編譯器允許main()沒有引數或者有兩個引數
第一個引數:argc(argument count)引數計數,是一個整數
第二個引數:argv(argument value)引數值,是一個指標陣列
系統用空格表示一個字串的結束和下一個字串的開始。
例如在命令列下輸入:repeat Resistance is futile
包括命令名repeat在內有4個字串,其中後3個供repeat使用,即引數。
這時候argc是4。argv依次儲存3個引數的字串地址。
1 #include <stdio.h> 2 3 int main(int argc,char *argv []) 4 { 5 int count; 6 7 printf("The command line has %d arguments:\n",argc-1); 8 for(count =1;count <argc;count++) 9 printf("%d: %s\n",count,argv[count]); 10 printf("\n"); 11 12 return 0; 13 }
編譯為可執行檔案repeat,下面是通過命令列執行該程式後的輸出:
C>repeat Resistance is futile
The command line has 3 arguments:
1: Resistance
2: is
3: futile
引數宣告時候也會用到:char **argv;
char **argv與char *argv [] 等價;
但是char *argv []更能清晰地表示一系列字串;