首页 > 解决方案 > c ++编译器如何获取argv字符串的长度

问题描述

在 C/C++ 中,argc 是命令行参数的计数,而 argv 是 char** 或指向字符指针的指针。我知道 argc 可用于获取参数的数量,但是编译器如何知道第一个参数或第二个参数的长度?

标签: c++c

解决方案


编译器不知道argv. 由您的编译器供应商提供并链接到您的可执行文件的运行时库将在创建进程时从操作系统获取命令行参数,然后该库将分配其自己的char*指针数组,指向复制的空终止字符串来自操作系统提供的数据。然后将该数组传递给您的main()via argv,并argc设置为char*数组中有效指针的数量。main()运行时将在退出后为该数组释放内存。


推荐阅读