CLI命令格式:
程序路径 --config=XXX --app=1001
调用例子:(获取命令行上 --config 的参数值)
std::string config_path = GetCommandArgument("--config", argc, argv);
获取命令行参数函数实现:
std::string GetCommandArgument(const char* name, int argc, const char** argv) {
if (NULL == name || argc <= 1) {
return "";
}
std::string key = name;
if (key.empty()) {
return "";
}
key += "=";
for (int i = 1; i < argc; i++) {
std::string line = argv[i];
if (line.empty()) {
continue;
}
size_t L = line.find(key);
if (L == std::string::npos) {
continue;
}
else if (L) {
char ch = line[L - 1];
if (ch != ' ') {
continue;
}
}
std::string cmd;
size_t M = L + key.size();
size_t R = line.find(' ', L);
if (R == std::string::npos) {
if (M != line.size()) {
cmd = line.substr(M);
}
}
else {
size_t S = R - M;
if (S) {
cmd = line.substr(M, S);
}
}
return cmd;
}
return "";
}



