【发布时间】:2013-08-22 11:11:06
【问题描述】:
我想在我的程序中实现一个类似命令行的界面。所以我收到了遵循正常命令行语法的字符串(例如“-G foo -dp bar --help”)。由于我不想再次实现解析器,我想使用 Boost。
问题是:如何将字符串传递给 Boost 程序选项,而不是 argCount 和 argValues 的组合。我是否需要先将文本转换为数字 (argCount) 和 char* 数组 (argValues) 才能做到这一点?如果是的话......有没有简单的方法可以做到这一点?
提前致谢。
【问题讨论】:
-
为什么要传递一个字符串?您已经在您的 c++ 程序中获得了 char** 的选项?
-
我使用 UNIX 套接字 (asio::local) 来传递 std::string。现在我想通过使用程序选项来解析这个字符串。问题是示例只包含 po::parse_command_line(ac, av, desc),但我没有 av。我有一个包含参数的完整字符串。
-
@codeling 因为我在写单元测试。
标签: c++ boost boost-program-options