在c/c++中,命令行参数的传递是利用main()函数进行形参传递实现的。
为了实现命令行参数我们将使用main(int argc,char* argv[])这样的形式进行定义argc和argv可以换成你自己喜欢的名称,不一定要用argv,argc这些形式只是习惯而已,char* argv[]我们前面已经讲述过,这就是一个指向指针数组,argv就是一个指针数组名,argv不是常量指针,而是具备变量特性的变量指针,它是可以移动的,由此我们可以改写成char* *argv也是正确的,int argc这个定义返回的将是参数的个数所以标记为整形(int)。
#include <iostream.h>
void main(int argc, char **argv)
{
cout<<"命令行参数解析"<<endl;
cout<<"参数个数:"<<argc<<endl;
cout<<"输出参数值:"<<endl;
int count = 0;
while (count < argc) //while (argv != NULL)
{
cout<<"第"<<count+1<<"个参数值:"<<argv[count]<<endl;
count++;
}
return ;
}
需要对C/C++ 设置一下:工程--》设置---》调试 如图所示,在程序变量一行里输入a b c d e 一共五个参数,用空格分开。
然后运行程序,结果如下:
结果会出现六个参数:因为默认将可执行文件的目录设置为数组argv[] 的第一个值。所以一共六个参数值。