argc,argv 用命令行编译程序时有用。
主函数main中变量(int argc,char *argv[ ])的含义
我们平时定义主函数时通常的写法为:int main( )或void main( )
其实,int main( ) 只是 UNIX 及 Linux 默许的用法,
main(int argc, char *argv[ ], char *env[ ])才是UNIX和Linux中的标准写法。
* argc: 整数,用来统计你运行程序时送给main函数的命令行参数的个数
* argv: 字符串数组,用来存放指向你的字符串参数的指针数组,每一个元素指向一个参数
argv[0] 指向程序运行的全路径名
argv[1] 指向在DOS命令行中执行程序名后的第一个字符串
argv[2] 指向执行程序名后的第二个字符串
建议把程序的printf("%c\n",argv[i][j]);改为printf("%c_",argv[i][j]);
将工程编译后在命令提示符下运行(开始-运行-输入cmd,按回车即可),然后进入程序所在磁盘,(命令cd 文件路劲即可进入)。输入编译好的程序名+几个字符串,中间用空格隔开。你就会有深刻的体会了!程序运行截图如下(程序名称为motempl.exe)
希望你能明白!
(int argc, char *argv[])
argc 表示参数个数
argv 表示参数的的数组
这个是在控制台执行时候用的
如:
test.exe
test.exe -t 30 -n 100
那麼
argc 就为 5
参数为别是
test.exe
-t
30
-n
100
你程序作用就是把这些参数名 一个一个打印出来~
* argc: 整数,用来统计你运行程序时送给main函数的命令行参数的个数
* argv: 字符串数组,用来存放指向你的字符串参数的指针数组,每一个元素指向一个参数
嗯,这段程序第一段用来输出全路径名
第二段输出命令行下输入的后面的
额,一个例子
#include
int main(int argc,char *argv[])
{
printf("%d\n",argc);
for (int i=0;i
for (int j=0,int n=sizeof(argv[i]);j
printf("%c\n",argv[i][j]);
}
printf("\n");
}
}
程序编译为test.exe,放在C盘
在CMD下运行的时候切换到目录。然后输入
>test hello GBL
大致会这样输出
3
C:\test.exe
hello
GBL
详情请看参考资料。。。
哇...楼上比我快.....
main的参数是命令行参数, 你在命令行执行这个程序的时候,如果在windows下,你编译出的可执行文件是test.exe
输入test.exe arg1 arg2运行这个程序
这个程序就会输出
test.exe
arg1
arg2