本文整理汇总了C++中basic_string::substr方法的典型用法代码示例。如果您正苦于以下问题:C++ basic_string::substr方法的具体用法?C++ basic_string::substr怎么用?C++ basic_string::substr使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类basic_string
的用法示例。
在下文中一共展示了basic_string::substr方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
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;
}
示例2: strip
template<class CharType> basic_string<CharType> strip(const basic_string<CharType>& str) {
basic_string<CharType>::size_type hp = 0;
basic_string<CharType>::size_type tp = str.size();
while ((hp < str.size()) && ((static_cast<unsigned>(str[hp]) <= 0x20) || (str[hp] == 0x7F)))
hp++;
if (hp < str.size())
while ((static_cast<unsigned>(str[tp - 1]) <= 0x20) || (str[tp - 1] == 0x7F))
tp--;
return str.substr(hp, tp - hp);
}
示例3:
node_piece_v<char_type> parse_path(const basic_string<char_type>& path) {
node_piece_v<char_type> re;
size_t current = 0;
for (size_t found; basic_string<char_type>::npos != (found = path.find_first_of(' ', current)); current = found + 1) {
//call basic_string<char_type> ->node_select_piece<char_type> convert constructor
re.emplace_back(std::basic_string<char_type>(path, current, found - current));
}
auto&& str = path.substr(current, path.size() - current);
re.emplace_back(std::move(str));
return re;//expect NRVO
}
示例4: substr
basic_string<T> substr(basic_string<T> const &s, int b, int e)
{
int n = s.size();
if(b<0) b=b+n;
if(b<0) b=0;
if(b>=n) b=n;
if(e<0) e=e+n;
if(e<0) e=0;
if(e>=n) e=n;
int m = e-b;
if(m<0) m=0;
return s.substr(b,m);
}
示例5: switch
// Get description.
basic_string<char> CGXStandardObisCodeCollection::GetDescription(basic_string<char>& str)
{
str = GXHelpers::trim(str);
if (str.size() == 0 || str[0] != '$')
{
return "";
}
int value;
#if _MSC_VER > 1000
sscanf_s(str.substr(1).c_str(), "%d", &value);
#else
sscanf(str.substr(1).c_str(), "%d", &value);
#endif
switch (value)
{
case 1:
return "Sum Li Active power+ (QI+QIV)";
case 2:
return "Sum Li Active power- (QII+QIII)";
case 3:
return "Sum Li Reactive power+ (QI+QII)";
case 4:
return "Sum Li Reactive power- (QIII+QIV)";
case 5:
return "Sum Li Reactive power QI";
case 6:
return "Sum Li Reactive power QII";
case 7:
return "Sum Li Reactive power QIII";
case 8:
return "Sum Li Reactive power QIV";
case 9:
return "Sum Li Apparent power+ (QI+QIV)";
case 10:
return "Sum Li Apparent power- (QII+QIII)";
case 11:
return "Current: any phase";
case 12:
return "Voltage: any phase";
case 13:
return "Sum Li Power factor";
case 14:
return "Supply frequency";
case 15:
return "Sum LI Active power (abs(QI+QIV)+abs(QII+QIII))";
case 16:
return "Sum LI Active power (abs(QI+QIV)-abs(QII+QIII))";
case 17:
return "Sum Li Active power QI";
case 18:
return "Sum Li Active power QII";
case 19:
return "Sum Li Active power QIII";
case 20:
return "Sum Li Active power QIV";
case 21:
return "L1 Active power+ (QI+QIV)";
case 22:
return "L1 Active power- (QII+QIII)";
case 23:
return "L1 Reactive power+ (QI+QII)";
case 24:
return "L1 Reactive power- (QIII+QIV)";
case 25:
return "L1 Reactive power QI";
case 26:
return "L1 Reactive power QII";
case 27:
return "L1 Reactive power QIII";
case 28:
return "L1 Reactive power QIV";
case 29:
return "L1 Apparent power+ (QI+QIV)";
case 30:
return "L1 Apparent power- (QII+QIII)";
case 31:
return "L1 Current";
case 32:
return "L1 Voltage";
case 33:
return "L1 Power factor";
case 34:
return "L1 Supply frequency";
case 35:
return "L1 Active power (abs(QI+QIV)+abs(QII+QIII))";
case 36:
return "L1 Active power (abs(QI+QIV)-abs(QII+QIII))";
case 37:
return "L1 Active power QI";
case 38:
return "L1 Active power QII";
case 39:
return "L1 Active power QIII";
case 40:
return "L1 Active power QIV";
case 41:
return "L2 Active power+ (QI+QIV)";
case 42:
return "L2 Active power- (QII+QIII)";
//.........这里部分代码省略.........
示例6: str
basic_string<Char, Traits, Alloc> str() const {
return string.substr(eback(), egptr() - eback());
}