C/C++命令行参数

我们经常会使用到命令行程序或命令,如 cd xxx、copy xx yy、xx --h、xx --version 等,我们如何获得命令行参数呢?

通常C/C++控制台应用程序的主函数是这样的:

int main(void)

{

// other code

return 0;

}

但使用这种形式的主函数我们不能获得命令行参数。这时我们会用到下面的主函数形式:

int main(int argc, char* argv[ ])

{

// other code

return 0;

}

其中argv[0]是程序可执行文件本身的名字【不含诸如.exe的扩展名】;argc表示命令含参数的个数:直接在命令行【或终端】执行一个控制台程序而什么参数也不给时,argc=0,argv[0]=程序名;给定k个参数时,argv[k]=第k个参数。注意,命令行参数都是以字符串的形式传给主函数的,如要传递整数或浮点数则必需对字符串使用atoi、atol、atof等函数进行相应的转换【这些函数在<stdlib.h>及<cstdlib>里有声明】。下面通过一个简单的例子来说明命令行参数控制台程序的编写:

// testarg.c

#include <stdio.h>

int main(int argc, char* argv[ ])

{

int i;

for(i=0; i<argc; ++i)

printf("argv[ %d ]= %s/n", i, argv[i]);

return 0;

}

 

此程序的目的用于输出所有的命令行参数,C++版如下:

// testarg.cpp

#include <iostream>

using namespace std;

int main(int argc, char* argv[ ])

{

int i;

for(i=0; i<argc; ++i)

cout<<"argv[ "<<i<<" ]= "<<argv[i]<<endl;

return 0;

}

 

读者不妨将段代码进行编译,以不同的参数运行,看看有什么输出。【如果读者使用的是GCC【Unix、Linux、MinGW等】,则代码最后一行空行是必需的】

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值