4. 命令行参数和环境变量
程序启动时可以通过命令行传递参数,也可以通过环境变量获取系统配置信息。
命令行参数
在 C 语言中,main 函数可以接收两个参数:
int argc: 命令行参数的个数。char *argv[]: 指向参数字符串的指针数组。
示例代码:
#include<stdio.h>
int main(int argc, char* argv[]){
printf("argc: %d\n", argc);
for(int i = 0; i < argc; i++){
printf("argv[%d]: %s\n", i, argv[i]);
}
return 0;
}
编译并运行:
gcc -o code code.c -std=c99
./code 12345
# 输出:
# argc: 6
# argv[0]: ./code
# argv[1]: 1
# argv[2]: 2
# ...
通过检查 argc 和 argv,可以实现类似工具的功能选择:
if(strcmp(argv[1],"-opt1")==0){
printf("功能 1\n");
} else if(strcmp(argv[1],"-opt2")==0){
printf("功能 2\n");
}
环境变量
环境变量是进程环境的一部分,可以通过 getenv 函数或 environ 全局变量访问。


