日期:2011-03-22 13:55:00 来源:本站整理
C/C++中号令行参数的原理[VC/C++编程]
本文“C/C++中号令行参数的原理[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
很早从前的dos利用程序中,我们常常会用号令行参数履行利用程序比方:
copy c:1.txt d:
在c/c++中,号令行参数的传送是操纵main举行形参传送实现的
前面的教程中我们对面都举行了void main()大概是void main(void)的定义,这表示main不返回任何范例,和main不带有任何参数,但在缺剩状况下mian()这样情势下,情势参数一向是存在在栈空间内的只是躲藏了起来.
为了实现号令行参数我们将利用main(int argc,char* argv[])这样的情势举行定义argc和argv可以换成你自己喜好的名称,不一定要用argv,argc这些情势只是习惯罢了,char* argv[]我们前面已经报告过,这就是一个指向指针数组,argv就是一个指针数组名,argv不是常量指针,而是具有变量特点的变量指针,它是可以移动的,由此我们可以改写成char* *argv也是精确的,int argc这个定义返回的将是参数的个数所以标志为整形(int).
#include<iostream>
#include<string>
usingnamespacestd;
voidmain(intargc,char*argv[])
{
inti=0;
while(i<argc)
{
cout<<*argv++<<endl;//这里改写成cout<<argv[i]<<endl;也是精确的
i++;
}
cin.get();
}
在号令行参数的提交中,系统会自动给指针数组后加上一个NULL,所以代码可以写成以下简单情势,简化代码提高效率.
#include<iostream>
#include<string>
usingnamespacestd;
voidmain(intargc,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
以上是“C/C++中号令行参数的原理[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论