关于main函数中argc和argv的简单介绍

刚刚学习C++的朋友可能会遇到main函数的参数设置问题,不理解为什么main函数也要参数。

main函数的参数通常这样设置:

int main(int argc,char** argv) 

argc 是 argument count 的简称,是传入参数的个数,argv是二维的字符串指针,是argument variable的简称,实际上这个就是一个字符串数组。


main函数是由执行整个exe文件的时候调用的,我们如果在cmd下运行程序exe,或者写bat脚本文件去调用exe,就可能会用到参数传入的问题,这里面的

参数就是这样用。


下面举个例子:

#include<cstdio>
#include<cstring>
int main(int argc,char** argv)
{
	printf("there are %d strings\n",argc);
	for(int i = 0;i < argc;i++)
		printf("%s\n",argv[i]);
} 

这段代码是输出传入参数的个数,还有具体什么参数。

整个程序编译出来的exe叫做test.exe

cmd下运行得出的结果是:



可以看到,执行test.exe 这个本身是一个字符串。

加上传入的参数str1 和 str2,总共有3个字符串。


同理,bat脚本调用的使用也是这样,使用的时候注意。

不要以为test.exe这个不是传入参数。

所以代码里使用时候一般不用程序名字的话,是从argv[1] 开始。


阅读更多
文章标签: c c++ 编程
个人分类: C++
上一篇PLA算法总结——Percetron Learning Algorithm(机器学习基石2)
下一篇机器学习方法的分类——(机器学习基石3)
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭