我正在编写一个用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。
答案 0 :(得分:2)
使用Boost程序选项实际上应该非常简单,因为您可以轻松构建多个选项列表。
为每个子命令创建一个,然后检查argv[1]
以查看子命令是什么,并使用正确的选项列表。