栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

获取CLI接口传入的命令行参数(一)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

获取CLI接口传入的命令行参数(一)

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 "";
    }

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/767006.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号