当前位置: 首页>>代码示例>>C++>>正文


C++ util::trim方法代码示例

本文整理汇总了C++中util::trim方法的典型用法代码示例。如果您正苦于以下问题:C++ util::trim方法的具体用法?C++ util::trim怎么用?C++ util::trim使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在util的用法示例。


在下文中一共展示了util::trim方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: load

long DataMap::load(string file, const function<void(DataMapState *)> &predicate) {
    // if no file was passed
    if(file.empty()) {
        cerr << "DataMap::load: can't pass empty file parameter" << endl;
        return -1;
    }

    // open the passed file
    ifstream in(file);
    if(!in.good()) {
        cerr << "DataMap::load: " << file << ": not good" << endl;
        return -2;
    }

    long addedEntries = 0;
    DataMapState dms = {
        this, DMSType::Invalid, this->m_defaultScope, "", "", "", 0 };
    while(!in.eof()) {
        // read the next line
        string line;
        getline(in, line);
        if(!in.good())
            break;

        // strip whitespace, continue if line is blank
        line = trim(line);
        if(line.empty())
            continue;

        dms.line = line;
        dms.result = 0;

        char equals = '=';

        // if it is a comment, ignore it
        if(line[0] == '#') {
            continue;
        // if it is a scope line
        } else if(line[0] == '[' && line[line.length() - 1] == ']') {
            dms.type = DMSType::Scope;
            dms.value = trim(line.substr(1, line.length() - 2));
        // if it is a variable definition
        } else if(util::contains(line, equals)) {
            dms.type = DMSType::Entry;
            dms.key = trim(line.substr(0, line.find('=')));
            dms.value = trim(line.substr(line.find('=') + 1));
        } else {
            dms.type = DMSType::Invalid;
        }

        predicate(&dms);
        switch(dms.type) {
            case DMSType::Scope:
                dms.scope = dms.value;
                break;
            case DMSType::Entry:
                this->m_map[dms.scope][dms.key] = dms.value;
                addedEntries++;
                break;
            case DMSType::Invalid:
                break;
        }
        addedEntries += dms.result;
    }
    return addedEntries;
}
开发者ID:JAChapmanII,项目名称:Jail,代码行数:66,代码来源:datamap.cpp


注:本文中的util::trim方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。