Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;类子命令参数解析 我正在编写一个C++程序,它的行为类似于Svn,或者StReCTL,或者其他一些工具: ./a.out SUBCOMMAND [OPTION]... arguments-for-the-subcommand_C++_Command Line Arguments - Fatal编程技术网

C++;类子命令参数解析 我正在编写一个C++程序,它的行为类似于Svn,或者StReCTL,或者其他一些工具: ./a.out SUBCOMMAND [OPTION]... arguments-for-the-subcommand

C++;类子命令参数解析 我正在编写一个C++程序,它的行为类似于Svn,或者StReCTL,或者其他一些工具: ./a.out SUBCOMMAND [OPTION]... arguments-for-the-subcommand,c++,command-line-arguments,C++,Command Line Arguments,例如,如下所示: ./a.out remove --recursive directory1 directory2 --recursive选项仅对remove子命令有效 我目前正在使用Boost.ProgramOptions,在我的尝试中没有运气(我现在唯一拥有的是一个以GNU getopt方式接受参数的程序)。虽然我更喜欢经过广泛测试的库,但如果它是可移植的,并且工作正常,那么切换到另一个库是没有问题的 提前谢谢,如果问题没有解释清楚,我很抱歉 致以最良好的祝愿, 卡利什 备注:不确定这是否

例如,如下所示:

./a.out remove --recursive directory1 directory2
--recursive选项仅对remove子命令有效

我目前正在使用Boost.ProgramOptions,在我的尝试中没有运气(我现在唯一拥有的是一个以GNU getopt方式接受参数的程序)。虽然我更喜欢经过广泛测试的库,但如果它是可移植的,并且工作正常,那么切换到另一个库是没有问题的

提前谢谢,如果问题没有解释清楚,我很抱歉

致以最良好的祝愿, 卡利什


备注:不确定这是否有帮助,但我目前正在使用GCC 4.7.2。

使用Boost程序选项实际上应该非常简单,因为您可以轻松构建多个选项列表


为每个子命令创建一个,然后选中
argv[1]
查看子命令是什么,并使用正确的选项列表。

问题是什么?对不起;更新。我忘了写真正的问题,因为我太迷茫了,我甚至不知道我要问的是什么名字。现在可以了,谢谢。但是,难道没有更优雅的解决方案吗?也许另一个图书馆?我现在正在看TCLAP。