• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
C/C++中命令行参数的原理
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
C/C++中命令行参数的原理
软件发布 C/C++中命令行参数的原理
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 文章首页 >> 编程技术 >> C/C++教程 >> C/C++中命令行参数的原理

C/C++中命令行参数的原理

添加时间: 2006-2-19 6:37:15  作者: C++教程  阅读次数:414   来源: http\\d9soft.com

        很早以前的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
  #include
  using namespace std;
  void main(int argc,char* argv[])
  {
   int i=0;
   while(i   {
   cout<<*argv++<   i++;
   }
   cin.get();
  }

  在命令行参数的提交中,系统会自动给指针数组后加上一个NULL,所以代码可以写成如下简单形式,简化代码提高效率。

  #include
  #include
  using namespace std;
  void main(int argc,char* argv[])
  {
   while(*argv!=NULL)//这里写成while(*argv)也是正确的!
   {
   cout<<*argv++<   }
   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++声明 下一篇文章: C语言高效编程的的四大绝招

相关文章:

  • oracle联机热备原理及rman
  • statspack的系统参数
  • Oracle和SUNSolaris内核参数
  • Oracle和SUNSolaris内核参数
  • 热备份原理分析

相关软件:

  • 慧源医院软件标准网络版-数据与参数管理系统.Net V2.61
  • 慧源医院软件普通网络版-参数与数据管理系统.Net V6.88
  • TCP/IP网络原理与技术(001)
  • 马克思主义哲学原理 V2.0
  • AV98 命令行共享版 V0.9.1719

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

编程技术分类导航

  • ASP & ASP.NET教程
  • PHP教程
  • JSP教程
  • C/C++教程
  • VB & VB.NET教程
  • VC教程
  • Delphi教程
  • BCB教程
  • VFP教程
  • PB教程
  • JAVA教程
  • XML教程
  • C#教程
  • CGI教程

本类经典文章推荐

  • C/C++作用域引申出的编码规范
  • 程序宝典:C++学习感想
  • C语言:黑客学员必修课(一)
  • C语言:黑客学员必修课(二)
  • 使用多线程实现数据实时采集
  • C++编程中的四个调试小技巧
  • C语言程序设计基础之联合
  • 学C++不得不看的一篇文章
  • C,曾经的程序员梦
  • 水滴石穿C语言之可变参数问题

C/C++教程阅读排行

  • 学C++不得不看的一篇文章
  • 水滴石穿C语言之可变参数问题
  • C语言:黑客学员必修课(一)
  • 程序宝典:C++学习感想
  • 我的Visual C++入门之路
  • 初学者学习C++的50条忠告
  • C++中的struct专题研究
  • C++箴言:只要可能就用const
  • 强大的语言——C入门
  • C++编程中的四个调试小技巧

编程技术阅读总排行

  • VB入门教程之一
  • Java连接数据库实例
  • 第二章 PowerBuilder 入门之创建新...
  • VC++之List Box/Check List Box控...
  • 第一章 什么是PowerBuilder
  • VC++ List Ctrl控件
  • VC++ Combo Box/Combo Box Ex控件
  • 学C++不得不看的一篇文章
  • VB入门教程之二
  • VC++之Button控件

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有