gpt4 book ai didi

c - C 中与 argp 互斥的选项

转载 作者:行者123 更新时间:2023-11-30 16:59:05 28 4
gpt4 key购买 nike

有谁知道如何使用 argp 指定互斥选项在C中?有什么技巧可以使用吗?

编辑

什么是互斥选项?

假设您有一些命令行实用程序。您输入utility --help,输出如下所示

utility [-a|-b] 

选项 -a-b 是互斥的,因为不能同时指定它们,即指定 -a 会排除使用 -b-b 也是如此。如果使用它,则无法指定-a。换句话说,只有以下情况是可能的:

实用程序-a实用程序-b

来自argp文档似乎无法指定这种选项。那么问题是人们使用什么技巧来指定这种选项?我确信在某人的经历中不止一次出现过这种需要。

最佳答案

具有两个互斥选项 -a-b 的程序通常不会阻止用户在命令行上指定这两个选项。

相反,程序会解析-a,然后设置一些内部变量,可能是opt_ab = 1。当稍后解析 -b 时,该变量将被设置为 opt_ab = 0。这将是命令行上最后一个生效的选项。

绝大多数命令行工具都是这样做的。例如,您有:

$ ls -1 -C

对比

$ ls -C -1

关于c - C 中与 argp 互斥的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38385326/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com