解析 main() 之外的命令行参数

时间:2021-06-16 06:30:52

标签: c++ command-line-arguments command-line-parser

我主要介绍了一个新的命令行选项解析器:

void parseArguments(int& argc, const char**& argv) {
  try {
    cxxopts::Options options("MarkerTracking", "Tracks markers by ID");
    options.add_options("Application")
        ("z,systems", "Cameras system, use 0 or 1", cxxopts::value<int>()) ;
    cxxopts::ParseResult result = options.parse(argc, argv);
    setUpOutputInfo();


    if (result.count("z")) {
      systemen = result["systems"].as<int>();
      if (systemen != 0 && systemen != 1) {  
        outputFormatter->toggleWritePause(OUTPUT_RESUME);
        outputFormatter->errorMessage("Invalid input");
        outputFormatter->errorMessage("--systemen must be 0 or 1, but received " + to_string(systemen)  , true);
 
      }
      
    }

我需要使用这个新变量 (systemen) 作为另一个 cpp 文件中向量的索引:

std::vector<int> v = { 7, 3, 6, 2, 6 };
std::cout << "Element present at index " << v[1+systemen*2];

感谢您的帮助!

0 个答案:

没有答案
相关问题