首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用GetOpt :: Long :: GetOptions解析字符串?

GetOpt 是一个用于从命令行获取选项的 C 标准库,其可以解析以逗号分隔的字符串或命令行参数列表。

GetOptions 可以处理从标准输入获取参数、从命令行参数传递参数等多种场景,例如:

代码语言:c
复制
void print_options(int argc, char**argv)
{
    int o;
    while ((o = getopt_long(argc, argv, "ab:",
            getopt_long_only, NULL)) != -1) {
        switch (o) {
            case 'a': // 指定选项
                printf("Option a specified\n");
                break;
            case 'b': // 指定选项
                printf("Option b specified\n");
                break;
            case 'c': // 指定选项
                printf("Option -c specified\n");
                break;
            case 'd': // 指定选项
                printf("Option d specified\n");
                break;
            default: // 无匹配选项
                printf("Unknown option: %c\n", o);
        }
    }
}

以上代码中,print_options 函数会根据 getopt 从命令行参数列表中获取指定选项并输出执行结果,例如:

代码语言:bash
复制
$ gcc -abc

上述命令中,a 选项由 -a 提供,其他选项由 -bc 提供, getopt 将解析命令行参数,并获取相应的选项,调用 print_options 函数输出解析结果。

GetOptions 可通过传入参数 getopt_long_only 来指定在解析过程中是否采用短参数的方式,即只将参数解析为单个短选项和选项组,并利用 optind 参数来指定下一个要进行解析的参数。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券