C ++子命令式参数解析

时间:2013-03-25 12:22:33

标签: c++ command-line-arguments

我正在编写一个用C ++编写的程序,它应该像SVN,systemctl或其他一些工具一样:

./a.out SUBCOMMAND [OPTION]... arguments-for-the-subcommand

一个例子如下:

./a.out remove --recursive directory1 directory2

- recursive 选项仅对删除子命令有效。

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

提前致谢,如果问题没有得到很好解释,我很抱歉。

祝你好运, Kalrish。

P.S。:不确定这是否有任何帮助,但我目前正在使用GCC 4.7.2。

1 个答案:

答案 0 :(得分:2)

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

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