c++程式的main函式有兩個引數:
int main(int argc, char *argv)
我以前(大學學習的時候)一直沒有弄清楚這兩個引數的真正目的,一直到做linux c開發的時候,才知道,原來這兩個引數就是用來提供我們在linux的終端上執行某個命令時,攜帶的額外引數,例如:
$ gcc -o test test.c
在上面這個例子中,
argc == 4
argv == [「gcc」, 「-o」, 「test」, 「test.c」]
大部分linux程式都需要額外的引數,並且有一套約定俗成的規則,讓這些引數的規範有據可循,因此,linux系統提供了對這些引數的解析,只要在c++程式中,引入:
include
搞清楚這幾個東西,就可以編寫出乙個更強壯的linux c++程式了。
以下的例子,摘錄自
如果看不懂,可以看例子下面的一一的註解。
#include
#include
#include
int main(int argc, char **argv)
printf("argv[%d]=%s\n", optind, argv[optind]);
}printf("result=-1, optind=%d\n", optind); //看看最後optind的位置
for(result = optind; result < argc; result++)
printf("-----argv[%d]=%s\n", result, argv[result]);
//看看最後的命令列引數,看順序是否改變了哈。
for(result = 1; result < argc; result++)
printf("\nat the end-----argv[%d]=%s\n", result, argv[result]);
return
0;}
linux程式的命令列引數
程式執行的時候需要命令列引數,linux中更是這樣,隨便在shell輸入 bin xx help後列舉出來的引數讓你頭暈眼花,可是這些引數是怎麼進入程式的呢,我們知道程式執行的時候一般從main開始,而mian有兩個引數,乙個是 argc代表引數的個數,乙個是argv代表具體字串型別的引數,這是我們...
linux程式的命令列引數
程式執行的時候需要命令列引數,linux中更是這樣,隨便在shell輸入 bin xx help後列舉出來的引數讓你頭暈眼花,可是這些引數是怎麼進入程式的呢,我們知道程式執行的時候一般從main開始,而mian有兩個引數,乙個是 argc代表引數的個數,乙個是argv代表具體字串型別的引數,這是我們...
linux程式的命令列引數
程式執行的時候需要命令列引數,linux中更是這樣,隨便在shell輸入 bin xx help後列舉出來的引數讓你頭暈眼花,可是這些引數是怎麼進入程式的呢,我們知道程式執行的時候一般從main開始,而mian有兩個引數,乙個是 argc代表引數的個數,乙個是ar 代表具體字串型別的引數,這是我們所...