main 處理命令列選項

2021-07-09 02:57:14 字數 1165 閱讀 1477

main():

處理命令列選項

int   main(int   argc,char   *argv)

是c++

的裡面的

main

()函式的一種擴充套件原型

其中int argc   

表示的是執行程式時命令列裡所帶引數的個數

+1 (

因為包括了該程式名

) ,如果不帶引數的話那就預設是

1  char *argv

引數是字元陣列的指標,也可以用

char **argv

表示,不過嚴格來講是不一樣的。

前者是指向字元指標的陣列,後者是指向字元指標的指標。由於

c裡面沒有真正的陣列,是用指向乙個數值的系列的指標來表達陣列的,所以上面的兩種表示差不多。不過

char   **   

實際上有二義性,可能是乙個

char*   

的指標或

char   *

的陣列的指標。

所以char*   argv   

就要明確一些。

argv

裡面的內容就是引數的內容。如果不帶引數的話那

argv[0]

就是程式的路徑名

請看下面兩個例子(兩個都是乙個意思,乙個是

c版,乙個是

c++版)

/c++

版/   

#include  

int   main(int   argc,char   *argv)  

編譯後程式的名字叫

program.exe,在e

盤根目錄下,執行時,顯示的結果是如下圖

e:/program

(回車)

argc=1

argv[0]=e:/program.exe

e:/program aa bb cc

(回車)

argc=4

argv[0]=e:/program.exe

argv[1]=aa

argv[2]=bb

argv[3]=cc

至於aa bb cc 

這些引數是幹什麼的,那是在程式裡自己定義的

main處理命令列選項

main處理命令列選項 雨竹清風 main 函式的引數可以是不為空,main 函式中的引數有兩個,乙個是argc表示陣列中元素的個數,乙個是char argv,表示的是指向乙個字串陣列的指標,所以也可以寫成char argv。有參的main 函式可寫為main int argc,char argv ...

main 處理命令列選項

假如我們的主函式main位於名為prog的可執行檔案中可以將實參選項傳遞給程式 prog d o ofile data0 int main int argc,char argv 這種用法的處理方法實際上是在主函式main 中定義了兩個形參 第二個形參argv是乙個c風格字串陣列 第乙個argc則用於...

命令列選項的處理

2012十二月 19日 對命令列的選項的處理有時是乙個比較頭疼的問題。首先需要從輸入中識別出命令列選項來,通過選項的組合出需要呼叫的具體處理過程。在unix世界中命令列選項有共性,更是千差萬別。如果手工去處理我們的方法一般會先進行分詞,之後進行詞法分析。這個過程的複雜度隨著引數數量的增加而增加。in...