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函式的命令列引數的個數 命令列輸入引...