Main函數(shù)參數(shù)argc,argv說明
int main(int argc, char** argv)
本文引用地址:http://butianyuan.cn/article/201611/322937.htmint main(int argc, char* argv[])
這兩個參數(shù)的作用是什么呢?argc 是指命令行輸入?yún)?shù)的個數(shù),argv存儲了所有的命令行參數(shù)。假如你的程序是hello.exe,如果在命令行運行該程序,(首先應(yīng)該在命令行下用 cd 命令進入到 hello.exe 文件所在目錄) 運行命令為:
hello.exe Shiqi Yu
那么,argc的值是 3,argv[0]是"hello.exe",argv[1]是"Shiqi",argv[2]是"Yu"。
下面的程序演示argc和argv的使用:
#includeint 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.
================================
#include#include #include
int main(int argc ,char * argv[]){int i; char arg[6][15]={0}; printf("argc : %d /n",argc); for(i=0;i{ sprintf(arg[i],"%s" ,argv[i]); } //for(i=1;i<4;i++) // printf("%s/n",arg[i]); execlp("/bin/mkdir","mkdir",arg[1],NULL); return 1;}
======================================
清單 2. BusyBox 使用 argv[0] 來確定調(diào)用哪個應(yīng)用程序
// test.c #includeint main( int argc, char *argv[] ) { int i; for (i = 0 ; i < argc ; i++) { printf("argv[%d] = %s/n", i, argv[i]); } return 0; }
// test.c #include |
評論