6.3 命令行参数
程序可以从命令行接收参数。argc 表示参数个数,argv 保存这些参数字符串。
c
int main(int argc, char **argv) {
if (argc != 2) {
fprintf(stderr, "Usage: %s file.txt\n", argv[0]);
return 1;
}
printf("processing %s\n", argv[1]);
return 0;
}argv[0] 通常是程序名,argv[1] 是第一个用户参数,以此类推。所有参数都是字符串,需要数字时可以用 atoi() 或 strtol() 转换。
c
int times = atoi(argv[1]); // "3" -> 3错误信息建议写到 stderr,普通结果写到 stdout。这样用户可以把正常输出重定向到文件,同时仍然在终端看到错误。
bash
./greet Ada > out.txt正在加载交互实验...
正在加载概念检查...
正在加载本节练习...