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


C++ StrVec::erase方法代码示例

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


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

示例1: trimmedName

string trimmedName(string& s)
{
    //printf("splitting %s\n",s.c_str());
    StrVec vec;
    int n=strsplit_slash(s, vec);

    //for(int i=0;i<n;i++) printf("  '%s'\n",vec[i].c_str());

    unsigned int i=0;
    while(i<vec.size())
    {
        if(i>0)
        {
            if(vec[i]==".." && vec[i-1]!="..")
            {
                i--;
                vec.erase(vec.begin()+i,vec.begin()+i+2);
                continue;
            }
        }

        i++;
    }
    if(!vec.size()) return "";
    string ret="";
    for(unsigned int i=0; i<vec.size(); i++)
    {
        ret+=vec[i];
        if(i+1!=vec.size()) ret+="/";
    }
    return ret;
}
开发者ID:SnakeSolidNL,项目名称:tools,代码行数:32,代码来源:main.cpp

示例2: erase

 bool Data::erase(const std::string& key, size_t keyIdx)
 {
     if(keyIdx < m_keyIdx.size())
     {
         KeyIdx ki(key, 0);
         size_t pos = (std::lower_bound(m_keyIdx.begin(), m_keyIdx.end(), ki, key_less) - m_keyIdx.begin()) + keyIdx;
         if(pos < m_keyIdx.size() && key_eql(ki, m_keyIdx[pos]))
         {
             // users shouldn't really erase keys while reading data but ...
             if(m_pos < m_keyIdx.size() && m_pos > pos)
                 --m_pos;
             m_keyIdx.erase(m_keyIdx.begin() + pos);
             m_keys.erase(m_keys.begin() + pos);
             m_varData.erase(m_varData.begin() + pos);
             return true;
         }
     }
     return false;
 }
开发者ID:clagv,项目名称:sl,代码行数:19,代码来源:SLData.cpp


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