C语言对命令行参数求和,C语言命令行参数汇总

从命令行传递的参数称为命令行参数。这些参数由main()函数来处理的。

要支持命令行参数,您需要更改main()函数的结构,如下所示 -

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

C

在这里,argc计算参数的数量。它将文件名称作为第一个参数。

argv []包含参数的总数。第一个参数永远是此程序的文件名。

命令行参数实例

我们来看一下命令行参数的例子,用文件名传递一个参数。创建一个源文件:main-commandline.c,其代码如下所示 -

#include

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

printf("Program name is: %s\\n", argv[0]);

if(argc < 2){

printf("No argument passed through command line.\\n");

}

else{

printf("First argument is: %s\\n", argv[1]);

}

}

C

在Linux上执行上面示例代码,得到以下结果 -

root@AYZ:~# gcc main-commandline.c

root@AYZ:~# ./a.out argc_value

Program name is: ./a.out

First argument is: argc_value

Shell

在Windows中从命令行运行以下程序:

F:\\>cd worksp\\clanguage\\command-line-arguments\\debug

F:\\worksp\\clanguage\\command-line-arguments\\Debug>dir

驱动器 F 中的卷是 Others

卷的序列号是 0007-6F29

F:\\worksp\\clanguage\\command-line-arguments\\Debug 的目录

2017/08/18 01:23

2017/08/18 01:23

2017/08/18 01:23 37,376 command-line-arguments.exe

2017/08/18 01:23 291,652 command-line-arguments.ilk

2017/08/18 01:23 552,960 command-line-arguments.pdb

3 个文件 881,988 字节

2 个目录 53,178,052,608 可用字节

F:\\worksp\\clanguage\\command-line-arguments\\Debug>command-line-arguments.exe test-arg

Program name is: command-line-arguments.exe

First argument is: test-arg

F:\\worksp\\clanguage\\command-line-arguments\\Debug>

Shell

如果传递很多参数,它只会打印一个,如下:

root@AYZ:~# ./a.out hello I am Maxsu

Program name is: ./a.out

First argument is: hello

Shell

但是,如果您在双引号内传递许多参数,则所有参数将被视为单个参数。如下 -

root@AYZ:~# ./a.out "hello I am Maxsu"

Program name is: ./a.out

First argument is: hello I am Maxsu

Shell

您可以编写程序来打印所有参数。在这个程序中,我们只打印argv [1],这就是为什么只打印一个参数的原因了,您可以根据需要使用或打印argv [2],argv [3],argv [4]....等等。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值