Linux | c&cpp | Email | github | QQ群:425043908 关注本站

itarticle.cc

您现在的位置是:网站首页 -> 代码相关 文章内容

C++问题记录-itarticl.cc-IT技术类文章记录&分享

发布时间: 9年前代码相关 95人已围观返回

1、sttok 修改源字符串 std::string str1 = str2; pch = strtok (str1.cstr()," ,.-"); 这样会修改str2的值...

解决办法:std::string str1 = str2.c_str(); 深拷贝字符串

#include <stdio.h>

#include <string.h>

int main ()

{

char str[] ="- This, a sample string.";

char * pch;

printf ("Splitting string \"%s\" into tokens:\n",str);

pch = strtok (str," ,.-");

while (pch != NULL)

{

printf ("%s\n",pch);

pch = strtok (NULL, " ,.-");

}

return 0;

}

2、C++字符串分割函数

void CApolloVoiceMgr::SplitStringIgnoreEmpty(const std::string& strSource, std::vector<std::string>& vecStr, const std::string& strDelimit)

{

std::string::size_type pos1, pos2;

pos2 = strSource.find_first_of(strDelimit);

pos1 = 0;

while(std::string::npos != pos2)

{

if (pos2 - pos1 > 0)

{

vecStr.push_back(strSource.substr(pos1, pos2-pos1));

}

pos1 = pos2 + strDelimit.size();

pos2 = strSource.find_first_of(strDelimit,pos1);

}

if(pos1 < strSource.length())

vecStr.push_back(strSource.substr(pos1));

}

发布时间: 9年前代码相关95人已围观返回回到顶端

很赞哦! (1)

文章评论

  • 请先说点什么
    热门评论
    94人参与,0条评论

站点信息

  • 建站时间:2016-04-01
  • 文章统计:728条
  • 文章评论:82条
  • QQ群二维码:扫描二维码,互相交流