是否有用于为命令行项目创建菜单的开源跨平台C ++库?

时间:2011-02-16 00:45:03

标签: c++ frameworks cross-platform console-application

所以我在开发人员方面需要的是

addoption("-use-something", "Use Something instead of Some other thing", localVarName, desiredValue, defauultValue);

在用户方面,我希望看到3件事

  • 首先是设置params,如果它们作为应用程序选项/参数传递(例如来自start my.exe -use-something
  • 第二个是读取用户输入“help”关键字并跟踪所有可能带有描述的命令
  • 最后是阅读app启动命令,如果有些开发人员cin.get()尚未执行此操作

2 个答案:

答案 0 :(得分:2)

查看Option Parsers for C/C++?

的答案

答案 1 :(得分:1)

您应该使用Boost.Program_optionstutorial的示例:

// Declare the supported options.
po::options_description desc("Allowed options");
desc.add_options()
    ("help", "produce help message")
    ("compression", po::value<int>(), "set compression level")
;

po::variables_map vm;
po::store(po::parse_command_line(ac, av, desc), vm);
po::notify(vm);    

if (vm.count("help")) {
    cout << desc << "\n";
    return 1;
}

if (vm.count("compression")) {
    cout << "Compression level was set to " 
 << vm["compression"].as<int>() << ".\n";
} else {
    cout << "Compression level was not set.\n";
}