博客
关于我
int main(int argc,char* argv[])详解
阅读量:551 次
发布时间:2019-03-09

本文共 951 字,大约阅读时间需要 3 分钟。

argc 和 argv 是 C 编程语言中用于处理命令行输入参数的重要工具。让我们逐步理解它们的作用和用法:

  • argc(参数计数器)

    • 定义:int argc;用于记录用户在命令行输入时提供给程序的参数个数。
    • 使用场景:用于判断程序是否接受参数,以及参数的数量。例如,当用户输入“程序名 arg1 arg2”时,argc 会等于3,其中包括程序名 arg1 和 arg2 作为参数。
  • argv(参数数组)

    • 定义:char *argv[];这是一个字符指针数组,存储用户输入的命令行参数。
    • 结构
      • argv[0] 总是指向程序本身的文件名,包括完整路径。
      • argv[1] 到 argv[n-1] 分别指向用户输入的各个参数。
    • 例子:输入“程序名 arg1 arg2”,则:
      • argv[0] = "程序名"
      • argv[1] = "arg1"
      • argv[2] = "arg2"
  • main 函数参数处理

    • 选项一:int main(int argc, char *argv[]);
    • 选项二:int main(int argc, char **argv);
  • 区别与选择

    • 选项一:argv 是一个数组,长度由用户输入决定,编译器自动扩展。
    • 选项二:argv 是一个可变数组,长度由系统提供,需确保在编译时定义为指针数组或通过函数指针处理。
  • 处理命令行参数

    • 使用 argc 和 argv 读取输入参数。
    • 一般循环从 argv[1] 到 argv[argc-1] 处理用户输入的每个参数。
  • 环境变量(envp)

    • 一个指针数组,用于访问系统的环境变量,如 PATH、USER 等。
    • 一般用于特定需要时获取系统配置信息。
  • exit() 函数

    • 用于程序退出,返回一个整数作为退出代码。
    • 用法:exit(0) 表示正常结束,exit(-1) 或类似表示错误退出,可被操作系统接收处理。
  • 常见错误与注意事项

    • 避免直接访问 argv[argc],因为它为未使用的部分保留空间。
    • 在循环处理参数时,用 argc 来控制循环次数,避免越界。
    • 在处理字符串时确保null终止字符,以避免意外字符读取。
  • 通过以上理解,我们可以在代码中正确使用 argc 和 argv,来实现对用户输入参数的处理,使程序功能更加灵活和用户友好。

    转载地址:http://gcnpz.baihongyu.com/

    你可能感兴趣的文章
    selenium+python之切换窗口
    查看>>
    重载和重写的区别:
    查看>>
    搭建Vue项目步骤
    查看>>
    linux 编译出现的错误
    查看>>
    账号转账演示事务
    查看>>
    idea创建工程时错误提醒的是architectCatalog=internal
    查看>>
    SpringBoot找不到@EnableRety注解
    查看>>
    简易计算器案例
    查看>>
    在Vue中使用样式——使用内联样式
    查看>>
    Find Familiar Service Features in Lightning Experience
    查看>>
    Explore Optimization
    查看>>
    Kali Linux 内网渗透教程 - ARP欺骗攻击 | 超详细
    查看>>
    2020Java程序设计基础(华东交通大学)章节测试免费满分答案
    查看>>
    OpenCV-未定义符号:hb_font_funcs_set_variation_glyph_func
    查看>>
    小程序之wx:request(转)
    查看>>
    连接Oracle数据库经常报错?关于listener.ora和tnsnames.ora文件的配置
    查看>>
    解决数据库报ORA-02289:序列不存在错误
    查看>>
    map[]和map.at()取值之间的区别
    查看>>
    成功解决升级virtualenv报错问题
    查看>>
    【SQLI-Lab】靶场搭建
    查看>>