argc和argv的用法

2021-08-20 20:10:30 字數 1919 閱讀 1172

main(int argc,char *argv[ ])

argv為指標的指標

argc為整數

char **argv or: char *argv or: char argv

main()括號內是固定的寫法。

下面給出乙個例子來理解這兩個引數的用法:

假設程式的名稱為prog,

當只輸入prog,則由作業系統傳來的引數為:

argc=1,表示只有一程式名稱。

argc只有乙個元素,argv[0]指向輸入的程式路徑及名稱:./prog

當輸入prog para_1,有乙個引數,則由作業系統傳來的引數為:

argc=2,表示除了程式名外還有乙個引數。

argv[0]指向輸入的程式路徑及名稱。

argv[1]指向引數para_1字串。

當輸入prog para_1 para_2 有2個引數,則由作業系統傳來的引數為:

argc=3,表示除了程式名外還有2個引數。

argv[0]指向輸入的程式路徑及名稱。

argv[1]指向引數para_1字串。

argv[2]指向引數para_2字串。

void main( int argc, char *argv )

char *argv : argv 是乙個指標陣列,他的元素個數是argc,存放的是指向每乙個引數的指標,

他的第乙個元素即argv[0]為編譯生成的可執行檔名(包括路徑 eg:」f:/vc/ex1/debug/ex1.exe」),

從二個元素(argv[1])開始,

是每乙個引數 int argc 表示argv的大小,是實際引數個數+1,

其中+1是因為argv[0]是編譯後的可執行檔名

main()主函式

每一c 程式都必須有一main()函式, 可以根據自己的愛好把它放在程式的某
個地方。有些程式設計師把它放在最前面, 而另一些程式設計師把它放在最後面, 無論放

在哪個地方, 以下幾點說明都是適合的。

main() 引數

在turbo c2.0啟動過程中, 傳遞main()函式三個引數: argc, argv和env。

命令列介面的程式,通常都需要輸入命令列引數幫助程式執行。假定有乙個可執行程式名為test。那麼執行該程式的的命令列如下:

test

帶命令列引數是同一行中的附加項:

test –c test

其中 –c 和 test就是命令列引數。c程式可以將這些附加引數讀出來,並為自己所用,比如作為程式執行的條件(經常看到除錯引數 –d 就是這麼乙個)。c程式通過使用main()的引數來讀取這些附加引數,下面的repeat.c給出乙個讀出main引數的例子:

repeat.c:

int main(int argc, char *argv)

printf(「/n」);

//system(「pause」);

return 0;

} 這裡先解釋一下main(int argc, char*argv)這個函式中兩個引數的意義,argc記錄的是命令列中輸入引數的數目,argv是乙個擁有argc個元素的字串陣列,每個元素儲存乙個命令列中輸入的引數。

編譯這個檔案為可執行檔案repeat:

gcc repeat.c -o repeat

按下列方式執行 repeat 程式

./repeat i 「love you」 3

輸出如下:

the command line has 3 arguments:

1: i

2: love you

3: 3

在這個例子中,argc的值為4,命令列一共輸入了四個引數「./repeat」、「i」、「love you」、「3」。在dos和unix環境下,命令列引數中用」」符號表示其是乙個字串,視為乙個引數。

argc和argv的定義和用法

argc,argv 用命令列編譯程式時有用。主函式main中變數 int argc,char argv 的含義 我們平時定義主函式時通常的寫法為 int main 或void main 其實,int main 只是 unix 及 linux 默許的用法,main int argc,char argv...

argc和 argv 函式簡記

如下 int main int argc,char argv 第乙個int argc 是記錄輸入在命令列的字串個數,char argv是指標陣列,存放輸入在命令列中的命令即字串。例 命令列輸入 one two three則 argc 0 中存放one,argc 1 中存放two,argc 2 中存放...

Opencv中argc和argv引數

程式中加入system pause 語句暫停黑視窗時,不要加於return0之後 另外就是若加該語句,vs提示找不到識別符號時,可加入 include 語句,達到消除錯誤的目的。main int argc,char argv 中argc統計程式執行時傳送給main函式的命令列引數的個數 命令列輸入引...