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


C++ basic_string::find方法代码示例

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


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

示例1: nthSubstrg

int nthSubstrg(int n, const basic_string<T>& s,
               const basic_string<T>& p,
               bool repeats = false) {
   string::size_type i = s.find(p);
   string::size_type adv = (repeats) ? 1 : p.length( );

   int j;
   for (j = 1; j < n && i != basic_string<T>::npos; ++j)
      i = s.find(p, i+adv);

   if (j == n)
     return(i);
   else
     return(-1);
}
开发者ID:jervisfm,项目名称:ExampleCode,代码行数:15,代码来源:4-18.cpp

示例2:

bool KeyValueString<T>::GetKeyValueFromPair(const basic_string<T> & keyValuePair, basic_string<T> & key, basic_string<T> & value) const
{
	size_t kvSeparatorPosition = keyValuePair.find(_keyValueSeparator);
	if (kvSeparatorPosition == basic_string<T>::npos)
		return false;

	key = keyValuePair.substr(0, kvSeparatorPosition);
	value = keyValuePair.substr(kvSeparatorPosition + 1, keyValuePair.length() - kvSeparatorPosition - 1);

	return true;
}
开发者ID:Petrik7,项目名称:Prototypes,代码行数:11,代码来源:KeyValueString.hpp

示例3: EqualsMask

// Check OBIS codes.
bool CGXStandardObisCodeCollection::EqualsMask(basic_string<char> obis, int ic)
{
    bool number = true;
	int value;
	if (obis.find(',') != std::string::npos)
    {
        vector< basic_string<char> > tmp = GXHelpers::Split(obis, ',');
        //for (basic_string<char> it : tmp)
		for(vector< basic_string<char> >::iterator it = tmp.begin(); it != tmp.end(); ++it)
        {
			if ((*it).find('-') != std::string::npos)
            {
                if (EqualsMask(*it, ic))
                {
                    return true;
                }
            }
            else
            {					
#if _MSC_VER > 1000
				sscanf_s((*it).c_str(), "%d", &value);
#else
				sscanf((*it).c_str(), "%d", &value);
#endif							
				if (value == ic)
				{
					return true;
				}
            }
        }
        return false;
    }
    else if (obis.find('-') != std::string::npos)
    {
        number = false;
        vector< basic_string<char> > tmp = GXHelpers::Split(obis, '-');
		int value1, value2;
#if _MSC_VER > 1000
		sscanf_s(tmp[0].c_str(), "%d", &value1);
		sscanf_s(tmp[1].c_str(), "%d", &value2);
#else
		sscanf(tmp[0].c_str(), "%d", &value1);
		sscanf(tmp[1].c_str(), "%d", &value2);
#endif		
        return ic >= value1 && ic <= value2;
    }
    if (number)
    {
        if (obis == "&")
        {
            return ic == 0 || ic == 1 || ic == 7;
        }			
#if _MSC_VER > 1000
		sscanf_s(obis.c_str(), "%d", &value);
#else
		sscanf(obis.c_str(), "%d", &value);
#endif					
        return value == ic;
    }
    return false;
}
开发者ID:AMildner,项目名称:GuruxDLMSLib,代码行数:62,代码来源:GXStandardObisCodeCollection.cpp

示例4: utf_iterator

 UtfIterator<C> str_find_char(const basic_string<C>& str, char32_t c) {
     return utf_iterator(str, str.find(str_char<C>(c)));
 }
开发者ID:kusl,项目名称:unicorn-lib,代码行数:3,代码来源:string-algorithm.hpp


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