当前位置: 首页 > article >正文

main中的int argc, char* argv[],命令行调用函数时输入参数用的

  • int argc:表示命令行参数的数量。argc 至少为1,因为第一个参数总是程序的名称。
  • char* argv[]:是一个字符指针数组,用于存储每个命令行参数的字符串。argv[0] 是程序的名称,argv[1] 是第一个参数,依此类推。argv[argc] 是一个空指针(NULL),用于标记数组的结束。
  • 例子

    假设你有一个名为 example 的程序,并且你想从命令行向它传递一些参数。你可以在终端(或命令提示符)中这样调用它:

  • ./example -a 123 -b hello

    在这个例子中:

  • argc 的值为 5,因为传递给程序的参数数量是 4(-a123-bhello),加上程序名称 example 本身,总共是 5。
  • argv 数组的内容如下:
    • argv[0] 是 "./example"(程序名称,可能包含路径)。
    • argv[1] 是 "-a"
    • argv[2] 是 "123"
    • argv[3] 是 "-b"
    • argv[4] 是 "hello"
    • argv[5] 是 NULL,表示数组的结束。
    • 代码示例

      下面是一个简单的C程序,它打印出传递给它的所有命令行参数:

  • #include <stdio.h>
    
    int main(int argc, char* argv[]) {
        printf("Program name: %s\n", argv[0]);
        printf("Number of arguments: %d\n", argc - 1); // 减去1,因为argv[0]是程序名称
        for (int i = 1; i < argc; i++) {
            printf("Argument %d: %s\n", i, argv[i]);
        }
        return 0;
    }

    编译过程见该博客


http://www.kler.cn/a/399504.html

相关文章:

  • WPF Gif图谱 如果隐藏的话会存在BUG
  • PostgreSQL高可用Patroni安装(超详细)
  • stm32下的ADC转换(江科协 HAL版)
  • Nginx server_name配置错误导致路由upstream超时问题
  • Redis 5 种基本数据类型详解
  • Controller Baseband commands速览
  • Ubuntu24.04LTS在线安装Docker引擎
  • Qt---双缓冲绘图
  • Golang | Leetcode Golang题解之第565题数组嵌套
  • 读写锁分离设计模式详解
  • 文件 fd
  • Python 在人工智能与大数据中的应用
  • 【ubuntu】Geogebra
  • 微服务day10-Redis面试篇
  • Rust:原子操作 AtomicBool
  • 基本数据类型和包装类型的区别、缓存池、自动拆箱装箱(面试题)
  • JVM堆(1.6、1.7、1.8)
  • 【route】route add命令详解
  • 2023年MathorCup数学建模B题城市轨道交通列车时刻表优化问题解题全过程文档加程序
  • PHP 语法基础
  • 电商系统开发:Spring Boot框架实战
  • Java | Leetcode Java题解之第564题寻找最近的回文数
  • 关于网络安全里蜜罐的详细介绍
  • 机器学习———特征工程
  • 使用Python和BeautifulSoup进行网页抓取:通过Python编程语言,结合BeautifulSoup库,可以轻松地从网站上抓取所需的信息。
  • TCP协议(一)