Main():处理命令行选项

Main(): 处理命令行选项
int   main(int   argc,char   *argv[]) c++ 的里面的 main ()函数的一种扩展原型 
其中 int argc   表示的是运行程序时命令行里所带参数的个数 +1 ( 因为包括了该程序名 ) ,如果不带参数的话那就默认是
  char *argv[]
参数是字符数组的指针,也可以用 char **argv 表示  ,不过严格来讲是不一样的。  
 
前者是指向字符指针的数组,后者是指向字符指针的指针。由于 c 里面没有真正的数组,是用指向一个数值的系列的指针来表达数组的,所以上面的两种表示差不多。不过 char   **   实际上有二义性,可能是一个 char*   的指针或 char   * 的数组的指针。 所以 char*   argv[]   就要明确一些。
argv[] 里面的内容就是参数的内容。如果不带参数的话那 argv[0] 就是程序的路径名
请看下面两个例子(两个都是一个意思,一个是 C 版,一个是 C++ 版)
/C++ /   
#include   <iostream.h>  
int   main(int   argc,char   *argv[])  
{  
       cout<<"argc=   "<<argc<<endl;  
       for(int   i=0;i<argc;i++)  
       {  
             cout<<"argv["<<i<<"]="<<argv[i]<<endl;  
       }  
   
    return   0;  
  }
/C /   
#include <stdio.h>   
main(int    argc,char   *argv[])
{   
    int i;
    printf("argc=%d/n",argc);
    for( i=0;i<argc;i++)
    printf("argv[%d]=%s/n",i,argv[i]);//
    getch();  
}
编译后程序的名字叫 Program.exe, E 盘根目录下,运行时,显示的结果是如下图
E:/program (回车)
Argc=1
Argv[0]=E:/PROGRAM.EXE
E:/program aa bb cc (回车)
Argc=4
Argv[0]=E:/PROGRAM.EXE
Argv[1]=aa
Argv[2]=bb
Argv[3]=cc
至于 aa bb cc 这些参数是干什么的,那是在程序里自己定义的
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值