如果 C++ 中包含等号,我如何解析命令行选项?一个例子是:
./testApp --parameter1=value1
我使用以下行来检查参数是否存在:
bool cmdOptionExists(char** begin, char** end, const std::string& option)
{
return std::find(begin, end, option) != end;
}
但是,如果参数包含等号,这将返回 false
cmdOptionExists(argv, argv+argc, "parameter1");
甚至打印:
for(int i=0;i<argc;i++)
printf("Argument: %s\n", argv[i]);
不包括参数 1 的任何指示。然而,删除等号将正确打印它。