C C 程式的命令列引數

2021-06-28 23:00:33 字數 1029 閱讀 3909

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 代表具體字串型別的引數,這是我們所...