#include <iostream>
#include <string>
using namespace std;
void main(int argc,char* argv[])
{
int i=0;
while(i<argc)
{
cout<<*argv++<<endl;//这里改写成cout<<argv[i]<<endl;也是正确的
i++;
}
cin.get();
}
在命令行参数的提交中,系统会自动给指针数组后加上一个NULL,所以代码可以写成如下简单形式,简化代码提高效率。
#include <iostream>
#include <string>
using namespace std;
void main(int argc,char* argv[])
{
while(*argv!=NULL)//这里写成while(*argv)也是正确的!
{
cout<<*argv++<<endl;
}
cin.get();
}
最后我们说一下完整的命令行参数的原形:void main(int argc,char* argv[],char* env[])
env用的很少,通常是用做事件的返回,这里就不讨论了,具体的可以查询书籍。
void main(int argc)省略其它参数的定义也是可以的,这样运行时候就直接返回参数个数学,而不返回其它。
运行命令行参数带有char* argv[]的时候,如果输入参数带有空格式,应该用双引号阔起来。
例如 test4.exe "hello world!" ha ha