C/C++語言中的main函數,經常帶有參數argc,argv,如下:
int main(int argc, char** argv)
int main(int argc, char* argv[])
這兩個參數的作用是什麼呢?argc 是指命令行輸入參數的個數,argv存儲了所有的命令行參數。假如你的程式是hello.exe,如果在命令行運行該程式,(首先應該在命令行下用 cd 命令進入到 hello.exe 文件所在目錄) 運行命令為:
hello.exe Shiqi Yu
那麼,argc的值是 3,argv[0]是"hello.exe",argv[1]是"Shiqi",argv[2]是"Yu"。
下列的程式演示argc和argv的使用:
#include <stdio.h> int main(int argc, char ** argv) { int i; for (i=0; i < argc; i++) printf("Argument %d is %s.\n", i, argv[i]); return 0; }
假如上述代碼編譯為hello.exe,那麼運行
hello.exe a b c d e
將得到
Argument 0 is hello.exe. Argument 1 is a. Argument 2 is b. Argument 3 is c. Argument 4 is d. Argument 5 is e.
運行
hello.exe lena.jpg
將得到
Argument 0 is hello.exe. Argument 1 is lena.jpg.