C++之split字符串分割
2021-03-05 11:30
标签:oid size_t mes 查找 ring 就是 一个 sso gravity 在C++中没有直接对应的split函数,字符串分割可借助以下方法实现: 1、借助strtok函数 函数原型:char * strtok (char *str, char * delim); 函数功能:以delim为分隔符分割字符串str 参数说明:str:要分隔的字符串;delim:分隔符 返回值:从str开头开始的一个个被分割的字符串。当没有被分割时则返回null 代码1:直接使用strtok函数分割char*类型的字符串 代码2:借助strtok分割string类型的字符串,将结果保存在vector 思路:先将整个string字符串转换为char*类型,分割后得到char*类型的子字符串,将子字符串转换为string类型,并存入结果数组中。 注意:test3中连续多个空格出现,空格都会被过滤掉 2、借助于string类的find和substr函数 1)find函数 函数原型:size_t find(const string& str, size_t pos = 0) const; 功能说明:从pos位置开始查找子字符串str第一次出现的位置 参数说明:str为要查找的子字符串,pos从为初始查找位置 返回值:找到的话返回子字符串第一次出现的位置,否则返回string::npos 2)substr函数 函数原型:string substr(size_t pos = 0, size_t n = npos) const; 功能说明:获取从指定的起始位置开始,长度为n的子字符串 参数说明:pos为起始位置,n获取的1字符串长度 返回值:子字符串 注意:test3中的多个空格未被过滤掉,也就是说两个空格分隔符之间的空子串也被存进了结果数组中。要想避免这个问题可以在分隔出子字符串s时,判断一下若为空(两个分隔符相邻,中间的子串为空),则不加入字符数组即可去掉。 C++之split字符串分割 标签:oid size_t mes 查找 ring 就是 一个 sso gravity 原文地址:https://www.cnblogs.com/ruingking/p/14323124.html#include
#include
#include