欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

windows下的C语言命令行参数

程序员文章站 2022-06-05 17:14:13
...

这篇文章主要参考了这篇博文的内容自己去试了下,以填补一下C语言知识的空白
C语言命令行参数的使用

测试代码

#include <stdio.h>
void main(int argc,char** argv)
{
        printf("%d\n",argc);
        printf("%s\n",argv[0]);
        printf("%s\n",argv[1]);
        printf("%s\n",argv[2]);
}

参数说明

我们给main函数传递两个参数argc和argv

argc是int类型的,它表示的是命令行参数的个数。不用用户传递,它会根据用户从命令行输入的参数个数自动确定。

argv是char**类型的,它的作用是存储用户从命令行传递进来的参数。它的第一个成员是用户运行的程序名字

具体测试

将上面的代码保存为test.c,用gcc编译生成目标文件为test并进行后续测试
windows下的C语言命令行参数

1.在命令行下直接运行程序,没有传递其它任何参数

windows下的C语言命令行参数

2.在命令行下输入test hello world

windows下的C语言命令行参数

可以看到argc为3,第一个参数为test,第二个参数为hello,第三个参数为world

3.继续输入test hello world hello world

windows下的C语言命令行参数

可以看到这时argc变为5,argv指数出了前面三个参数。当然还可以把后面的两个参数也进行输出。

4.如果命令行中传递的一个参数包括空格就需要用用“ ”将参数扩起来

windows下的C语言命令行参数

我们将hello world整体当作一个参数传递就需要使用“hello world”。

需要注意的是argv的类型可以是char ** argv,char argv[ ] [ ],char *argv[ ]