int main(int argc,char* argv[]) 的含義和用法
阿新 • • 發佈:2018-12-02
1、基本概念
argc,argv 用 命令列編譯程式時有用。 主函式main中變數(int argc,char *argv[ ])的含義,有些 編譯器允許將main()的返回型別宣告為void,這已不再是合法的C++ main(int argc, char *argv[ ], char **env)才是 UNIX和 Linux中的標準寫法。 argc: 整數,用來統計你執行程式時送給 main函式的 命令列引數的個數 * argv[ ]: 指標 陣列,用來存放指向你的字串引數的指標,每一個元素指向一個引數 argv[0] 指向程式執行的全路徑名 argv[1] 指向在DOS命令列中執行程式名後的第一個字串 argv[2] 指向執行程式名後的第二個字串 ... argv[argc]為NULL。 **env:字串陣列。env[ ]的每一個元素都包含ENVVAR=value形式的字串。其中ENVVAR為環境變數,value 為ENVVAR的對應值。 argc, argv,env是在main( )函式之前被賦值的,2、具體用法
經典例子 對於理解argv[ ]函式很管用:1 2 3 4 5 6 7 8 9 |
#include <stdio.h>//#包含<stdio.h>
int
main(
int
argc,
char
* argv[])
//整數型別主函式(整數型別統計引數個數,字元型別指標陣列指向字串引數)
{
printf
(
"%d\n"
,argc);
//格式化輸出
while
(argc)
//當(統計引數個數)
printf
(
"%s\n"
,argv[--argc]);
//格式化輸出
return
0;
//返回0;正常退出
}
|
1 2 3 4 5 6 7 8 9 |
#include<stdio.h>
int
main(
int
argc,
char
*argv[])
{
if
(argc==1||argc>2)
printf
(
"請輸入想要編輯的檔名如:fillname"
);
if
(argc==2)
printf
(
"編輯%s\n"
,argv[1]);
return
0;
}
|
1 2 |
for
(;n<=(26+i);n++)
printf
(
"argv_%d=[%s]\n"
,n,argv[n]);
|