gpt4 book ai didi

c - 双破折号命令行选项而不是 getopt

转载 作者:行者123 更新时间:2023-12-05 01:48:41 27 4
gpt4 key购买 nike

如何以这种方式接受命令行参数:

./a.out --printall

所以在我的程序中,我有类似的东西

if (printall) {
// do something
}

我不想这样做:

if (argc == 2)
//PRINTALL exists

因为我的程序可以有多个命令行选项:

./a.out --printread
./a.out --printwrite

其次,我不想使用 getopt ,这样命令就变成了

./a.out -printall 1

我发现 ./a.out --printall./a.out -printall 1 干净

编辑:我见过执行此操作的程序:

./a.out --help

我想知道它们是如何工作的。

最佳答案

(关于问题的参数解析部分:)

您需要 getopt_long()来自 <unistd.h> .这是一个 GNU 扩展。

为了更好的便携性,您可以考虑使用 Boost program options ,尽管那是一个已编译的库。

关于c - 双破折号命令行选项而不是 getopt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7757986/

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