当前位置:七道奇文章资讯编程技术VC/C++编程
日期: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++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 操纵 .htaccess 启用 gzip 压缩静态内容
  • 高配置机械在CC攻击需求做的调整
  • Ubuntu proc gcc典型问题
  • Ubuntu 10.10安装低版本gcc和g++编译器
  • Windows2003下配置 Apache2.2 + MySQL 5 + php5 + ZendOptimizer3.3 + .htaccess重写
  • LNMP上进级布置PHP加快器eAccelerator
  • 在Access2007"快速拜候工具栏"增添更多号令
  • Access2007表的数据表视图和计划视图
  • access violation at address的问题
  • VB用Access数据库成立用户登录
  • Web服务器若何防CC攻击
  • Asp 防备CC攻击模块 (Anti-CC.asp)
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .