编写有选项的编程程序通常涉及解析命令行参数。以下是一个使用C语言编写的简单示例,该示例支持四个选项:`-i`、`-n`、`-s` 和 `-d`。
```c
include include // 定义选项的变量 int enable_opt_i = 0; int enable_opt_d = 0; int int_para_n = 0; char *str_para_s = NULL; // 解析命令行参数的函数 void parse_args(int argc, char *argv[]) { int opt; while ((opt = getopt(argc, argv, "iIn:s:d")) != -1) { switch (opt) { case 'i': case 'I': enable_opt_i = 1; break; case 'n': int_para_n = atoi(optarg); break; case 's': str_para_s = optarg; break; case 'd': enable_opt_d = 1; break; default: printf("Usage: %s [-] [-n number] [-s string] [-d]\n", argv); exit(EXIT_FAILURE); } } } int main(int argc, char *argv[]) { parse_args(argc, argv); // 根据选项执行相应的操作 if (enable_opt_i) { printf("Option -i is enabled\n"); } if (enable_opt_d) { printf("Option -d is enabled\n"); } if (int_para_n != 0) { printf("Option -n is set to %d\n", int_para_n); } if (str_para_s != NULL) { printf("Option -s is set to %s\n", str_para_s); } return 0; } ``` 编译和运行 1. 将上述代码保存到一个文件中,例如 `options_example.c`。 2. 使用以下命令编译代码: ```sh gcc -o options_example options_example.c ``` 3. 运行程序并传入选项: ```sh ./options_example -i -n 100 -s hahaha -d ``` 解释 `include `include `enable_opt_i`、`enable_opt_d`:用于标记选项是否启用。 `int_para_n`:用于存储整数参数。 `str_para_s`:用于存储字符串参数。 `parse_args` 函数使用 `getopt` 解析命令行参数。`getopt` 的第一个参数是选项字符串,第二个参数是命令行参数数组,第三个参数是选项字符。 根据解析结果,设置相应的选项变量。 调用 `parse_args` 函数解析参数。 根据选项变量的值,执行相应的操作并打印输出。 建议 可以为选项提供默认值,以简化命令行参数的使用。 确保所有错误情况都得到处理,例如参数缺失、类型错误等。 为每个选项和参数提供清晰的文档,以便用户了解其用途和使用方法。 对于长时间运行的任务,显示进度条可以帮助用户了解程序的执行进度。包含头文件
定义选项变量
解析命令行参数
主函数
提供默认参数值
处理错误情况
文档化参数和选项
显示进度条