gpt4 book ai didi

c++ - 使用 Argo 命令行解析器 : Unknown option is not returned when option is behind a exsiting option

转载 作者:太空宇宙 更新时间:2023-11-04 12:34:19 28 4
gpt4 key购买 nike

使用这个非常好的命令行解析器 Argo(仅 header C++ 库)我遇到了一个小问题。请参阅:https://github.com/phforest/Argo

Argo 返回:'Error: Unknown option' 当未找到选项时,但当参数位于已知参数后面时则不返回。

编译以下代码:(inc 是 argo header 的位置)c++ test.cpp -I inc --std=c++11

标签:
#include <iostream>
int main(int argc, char **argv)
{
argo::Configuration pcnfg;
std::vector<std::string> input_texts;
pcnfg.program.name = { "wow", "EyeOnText WoWoolConsole" };
pcnfg.program.version = { 1, 1, 1 };

argo::Arguments args(pcnfg);
args.add(argo::handler::Option("input-text", "i", input_texts).help("Input text to process."));

const auto result = args.parse(argc, argv);
switch (result.status)
{
case argo::ReturnCode::Error: std::cerr << "Error: " << result.message << std::endl; return 1;
case argo::ReturnCode::SuccessAndAbort: return 0;
default: break;
}

for ( auto const & input : input_texts )
{
std::cout << "- " << input << std::endl;
}
return 0;
}

运行:./a.out --other -i "测试"错误:未知选项'--other'哪个好

运行:./a.out -i "test"--other- 测试- --其他

--other不应该在输入列表中。

最佳答案

(免责声明:我是图书馆的开发者)

我认为这在较新的版本中已得到解决。至少,使用提供的代码,我得到了预期的输出(两次“未知选项”错误)。如果没有解决,我们可以使用 https://gitlab.com/dgrine/Argo/issues 的错误跟踪器来处理它。

关于c++ - 使用 Argo 命令行解析器 : Unknown option is not returned when option is behind a exsiting option,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57092625/

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