命令行参数

注:以下大部分内容来源于 coursera 课程《C++程序设计》
在命令行输入“ 可执行文件+字符串 ”,称为命令行参数。

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

argc是int类型的,它表示的是命令行参数的个数。用户不需要传递,它会根据用户从命令行输入的参数个数,自动确定。argv是char*类型的数组,后面还有一个子数组[],所以叫指针数组,里面的每个元素都是char*类型的指针,每个指针都指向字符串,这个字符串里面就存放着“命令行参数”。
argv[0]指向的字符串就是第一个命令行参数,一般来说是用户运行的程序的名字。准确地说,argv是char**类型的,它的作用是存储用户从命令行传递进来的参数。
例子:

%遍历argv数组并输出
#include<stdio.h>
int main(int argc, char*argv[])
{
for (int i = 0; i < argc; i++)
     printf("%s\n",argv[i]);
return 0;
}

将上面的程序编译成sample.exe,然后在控制台窗口敲

sample para1 para2  s.txt 5 "hello world"

这个语句一共有6个命令行参数,输出结果是

sample
para1 
para2  
s.txt 
5 
hello world

如果命令行参数内部有空格,那么就像"hello world"一样,用引号括起来。
另一个例子:

#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]);
}

对于上面的例子,我们将其保存为test.c,用gcc编译生成目标文件为test。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 3,614评论 3 44
  • 这节是比较重要的,因为这节要是没弄明白之后的函数实现理解起来就很麻烦,linux环境的函数,是怎么实现的,都会困难...
    Hy_Slin阅读 930评论 0 0
  • 用的半生不熟的Linux环境,看看几种语言的命令行参数解析~ 1. python python demo.py -...
    __六便士阅读 688评论 0 3
  • argh:代表启动程序时候,命令行参数的个数。C/C++语言规定,可执行程序程序本身的的文件名,也算一个命令行参数...
    Mitchell阅读 3,557评论 0 0
  • 要检测iOS是否支持AAC HE的编码情况,从VideoCore摘了一段代码,稍作修改。 stackoverflo...
    lyleyang阅读 1,479评论 0 1

友情链接更多精彩内容