string::npos 速成 及其在自定义split函数中的应用

Posted 深圳地铁Princess

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了string::npos 速成 及其在自定义split函数中的应用相关的知识,希望对你有一定的参考价值。

string::npos的定义:

static const size_t npos = -1;

表示size_t的最大值(Maximum value for size_t)

C++中并没有拆分字符串函数,但是在刷题时经常遇到要拆分字符串的情况, 故编写一个自定义的split函数。

r:egmkang

void SplitString(const std::string& s, std::vector<std::string>& v, const std::string& c)
{
  std::string::size_type pos1, pos2;
  pos2 = s.find(c);
  pos1 = 0;
  while(std::string::npos != pos2)
  {
    v.push_back(s.substr(pos1, pos2-pos1));
 
    pos1 = pos2 + c.size();
    pos2 = s.find(c, pos1);
  }
  if(pos1 != s.length())
    v.push_back(s.substr(pos1));
}

 

参考http://blog.csdn.net/devil_pull/article/details/25478525?utm_source=tuicool&utm_medium=referral

以上是关于string::npos 速成 及其在自定义split函数中的应用的主要内容,如果未能解决你的问题,请参考以下文章

std::string::find 总是返回 string::npos 甚至

string::npos 在这段代码中是啥意思?

C++中String类find函数与string::npos的含义

C++ std::string::npos常量(值为-1)(表示“直到字符串的结尾”,作为返回值,它通常用于表示不匹配)

第十六章 String类和标准模板库(1. string类智能指针)

primer Day2