编写主函数时,通常会看到两个定义之一:

int main(void)

int main(int argc, char **argv)

第二种形式允许您访问传递给程序的命令行参数,以及指定的参数数量(参数以空格分隔)。

的参数为main:

int argc-运行程序时传递给您的程序的参数数量。至少是1。

char **argv-这是指向的指针char *。也可以是:char *argv[],表示“数组char *”。这是C样式字符串指针的数组。

基本范例

例如,您可以执行以下操作以打印出传递给C程序的参数:

#include

int main(int argc, char **argv)

{

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

{

printf("argv[%d]: %s\n", i, argv[i]);

}

}

我正在使用GCC 4.5编译我称为的文件args.c。它将编译并构建默认的a.out可执行文件。

[birryree@lilun c_code]$ gcc -std=c99 args.c

现在运行它...

[birryree@lilun c_code]$ ./a.out hello there

argv[0]: ./a.out

argv[1]: hello

argv[2]: there

因此,您可以看到在中argv,argv[0]是您运行的程序的名称(这不是标准定义的行为,而是常见的。您的论点始于此argv[1]。

因此,基本上,如果您想要一个参数,可以说...

./myprogram integral

一个简单的案例

然后您可以检查可能argv[1]是integral这样strcmp("integral", argv[1]) == 0。

所以在你的代码中...

#include

#include

int main(int argc, char **argv)

{

if (argc < 2) // no arguments were passed

{

// do something

}

if (strcmp("integral", argv[1]) == 0)

{

runIntegral(...); //or something

}

else

{

// do something else.

}

}

更好的命令行解析

当然,这都是非常基本的,并且随着程序变得越来越复杂,您可能需要更高级的命令行处理。为此,您可以使用GNU之getopt类的库。

c语言读取命令行参数,请问C-读取命令行参数怎么读取相关推荐

  1. python 命令行参数-python实现读取命令行参数的方法

    本文实例讲述了python读取命令行参数的方法.分享给大家供大家参考.具体分析如下: 如果想对python脚本传参数,python中对应的argc, argv(c语言的命令行参数)是什么呢? 需要模块 ...

  2. C语言之字符串探究(四):读越界、写越界

    相关博文:C++之char和string字符串类探究 相关博文:C语言之数组探究(一):定义.大小.初始化.访问和三要素 相关博文:C语言之字符串探究(一):字符串与字符数组 相关博文:C语言之字符串 ...

  3. 用c语言做RFID读卡程序,2.STM32读卡号读写数据代码示例3.0(C语言)

    文件名大小更新时间 2.STM32读卡号读写数据代码示例3.0(C语言)\HFRFID.uvgui.WEIZAI736912016-07-15 2.STM32读卡号读写数据代码示例3.0(C语言)\H ...

  4. python 判断传入的字符串参数是否为“回文联”(既可顺读,也可倒读。)

    判断传入的字符串参数是否为"回文联"(既可顺读,也可倒读.) def palindrome(words):words_list = list(words)flag_con = 1w ...

  5. 以下c语言程序片段用于估测cpu的cache参数,阿里巴巴笔试题

    阿里巴巴笔试题 1.平均速度最快的排序算法是______. Shell排序 快速排序 冒泡排序 插入排序 2014-03-29 18:36:02 2.某服务进程的QPS(没秒处理的请求个数)较低,在空 ...

  6. TF学习——TF数据读取:TensorFlow中数据读这三张图片的5个epoch +把读取的结果重新存到read 文件夹中

    TF学习--TF数据读取:TensorFlow中数据读这三张图片的5个epoch +把读取的结果重新存到read 文件夹中 目录 实验展示 代码实现 实验展示 代码实现 1.如果设置shuffle为T ...

  7. Java 独占锁ReentrantLock、读(悲观读)写锁ReentrantReadWriteLock、读(乐观读/悲观读)写锁StampedLock

    1.AbstractQueuedSynchronizer 锁必然要知道AbstractQueuedSynchronizer(AQS),AQS提供了一个框架,用于实现依赖于先进先出(FIFO)等待队列的 ...

  8. 伴读计划 01 | 想要读透一本书?那就来参加吧

    大家好, 这里是壹脑云读书圈,我是明明~ 在信息日益发达的今天,阅读成为放松心灵的极好方式,壹脑云读书圈的存在,正是为了让大家能够沉浸到书籍的魅力中去. 然而,你让多少书籍在你的书架上蒙尘了呢,又有多 ...

  9. 数据库优化专题---4、读多写少和读多写多

    数据库优化专题-1.表的主键用数字还是UUID 数据库优化专题-2.逻辑删除还是物理删除 数据库优化专题-3.千万记录如何快速分页 数据库优化专题-4.读多写少和读多写多 数据库优化专题-5.删改数据 ...

最新文章

  1. 全球首个塑料ARM芯片登上Nature,成本仅同类硅芯片1/10
  2. 数据中心供配电系统负荷计算实例分析
  3. 资讯类产品的数据驱动增长方法论
  4. kmeans中的k的含义_聚类的Python实现(二):确定分群数K
  5. java amqp_AMQP协议
  6. mysql查询单词出现的位置_在MySQL中从左侧获取一些单词
  7. 作者:李超(1988-),男,上海交通大学硕士生,主要研究方向为大数据网络。...
  8. win7+GPU运行py-faster-rcnn
  9. java 月度相减_java根据日期获取月龄,按照减法原理,先day相减,不够向month借;然后month相减,不够向year借;最后year相减。...
  10. 小话设计模式五:模板方法模式
  11. 十行代码--用python写一个USB病毒 (知乎 DeepWeaver)
  12. python 启动新进程执行脚本
  13. 计算机控制系统中采样速率的选择
  14. scope hosting_针对Web开发人员的Cloud Hosting和CDN服务–最佳
  15. html对话框取消确定,MFC取消HtmlDialog对话框的确定和取消按钮方法
  16. python读取pcd文件_Python读取pcd点云文件
  17. Dialog确认按钮不dismiss
  18. Prometheus-----1
  19. SCQ16GS03M1F1C-32AA 紫光动态存储器
  20. 做一个微信消息的日期展示

热门文章

  1. Unity学习资源汇总 2021/4/16 更新
  2. 安卓视频播放器(VideoView)
  3. linux系统中如何解压rar文件
  4. 让移动设备用上轻量级、低延迟的视觉Transformer,苹果搞了个MobileViT(ICLR 2022)...
  5. Web开发——文字样式
  6. vue环境变化量作用 (个人理解)
  7. 如何读书,才能融入血肉
  8. 如何查询202118山东高考成绩,往年高考成绩怎么查询 查询成绩的方法
  9. python贪心算法最短路径_贪心算法之最短路径
  10. 一加ACE和OPPO K10 Pro参数 一加ACE和OPPO K10 Pro对比