#include <stdio.h>
int main(int argc, char *argv[]) {
int i;
for (i = 0; i < argc; i++) {
printf("option %i = %s\n", i, argv[i]);
}
}
如果我們下達a.out one two three則會印出
option 0 = a.out
option 1 = one
option 2 = two
option 3 = three
也就是說參數argc告訴我們命令列上有幾個字串(含執行檔檔名),argv則是個array[] of pointer to char,紀錄命令列上的所有字串。UNIX上有個有趣的指令叫做echo,會把參數全部印出來
>echo a b c
a b c
>
這個程式很容易寫:
#include <stdio.h>
int main(int argc, char *argv[]) {
int i;
for (i = 1; i < argc; i++) {
if (i != 1) {
printf(" ");
}
printf("%s", argv[i]);
}
printf("\n");