|
|
发表于 2025-12-27 11:32:13
|
显示全部楼层
命令行是你编写的程序与操作系统交互的重要方式,尤其在编写控制台程序时非常实用。命令行参数,简单来说,就是你在终端 / 命令行中运行程序时,跟在程序名后面的一系列参数。如:
myprog.exe 123 hello,其中 123 和 hello 就是传给程序的命令行参数。
在 C 语言中,程序的入口函数 main 支持接收命令行参数,标准写法有两种:
无参数形式(仅用于简单程序),注意main后面的括号是空的:int main() { ... }
带命令行参数形式:int main(int argc, char *argv[]) { ... }
关键参数解释:
argc 全称 argument count,参数个数(包含程序名本身,所以最少为 1)
argv 全称 argument vector,字符串数组,存储所有参数
举例,展示如何接收并打印所有命令行参数::
- #include <stdio.h>
- int main(int argc, char *argv[]) {
- // 1. 打印参数总数
- printf("参数总个数(argc):%d\n", argc);
- // 2. 遍历并打印每个参数
- printf("所有命令行参数:\n");
- for (int i = 0; i < argc; i++) {
- printf("argv[%d] = %s\n", i, argv[i]);
- }
- return 0;
- }
复制代码
编译代码(假设文件名为 cmd_args.c),然后运行:
cmd_args 123 "hello world" test
输出结果:
参数总个数(argc):4
所有命令行参数:
argv[0] = ./cmd_args # 第0个参数是程序本身的路径/名称
argv[1] = 123 # 第一个自定义参数
argv[2] = hello world # 带空格的参数需用引号包裹
argv[3] = test # 第三个自定义参数 |
|