小编cdo*_*gal的帖子

如何使用 boost::program_options 提取环境变量?

Boost 文档没有提供带有如何解析环境变量示例的代码片段。相反,它描述了附加前缀和转换为小写的奇怪行为。我试图提取 HOSTNAME 环境变量,但我能够做的是使用此代码提取 PREFIX_HOSTNAME 变量,我必须手动设置它。

  std::string hostname;
  boost::program_options::options_description desc_env;
  desc_env.add_options()("hostname", boost::program_options::value<string_type>(&hostname));

  boost::program_options::variables_map vm_env;
  boost::program_options::store(boost::program_options::parse_environment(desc_env, "PREFIX_"), vm_env);
  boost::program_options::notify(vm_env);

  std::cout << "hostname: " << hostname << '\n'; // correct value of PREFIX_HOSTNAME environent variable
Run Code Online (Sandbox Code Playgroud)

那么,如何使用 boost::program_options 准确提取 HOSTNAME 环境变量?

c++ boost

1
推荐指数
1
解决办法
1318
查看次数

标签 统计

boost ×1

c++ ×1