本文整理汇总了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);
}
示例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;
}
示例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;
}
示例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)));
}