博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
字符串分割
阅读量:4336 次
发布时间:2019-06-07

本文共 1297 字,大约阅读时间需要 4 分钟。

功能:将字符串(包括汉字)分割成一个个单元,一个汉字是一个单元

如果是非汉字 则把连续的这些字符当成 一个单元。

1 #include 
2 #include
3 #include
4 using namespace std; 5 6 void splitUtf8String(const char *pString, vector
& vecChars ) 7 { 8 size_t i = 0, length = 0; 9 while (i < strlen(pString)){10 if (pString[i] & 0x80){11 length = 3;12 } 13 else if (pString[i] == ' ' || pString[i] == ';'){14 length = 1;15 } 16 else{17 length = 1; 18 while (i+length < strlen(pString) && !(pString[i+length] & 0x80)19 && pString[i+length] != ' ' && pString[i+length] != ';')20 length ++; 21 } 22 vecChars.push_back(string(pString+i,length));23 i += length;24 }25 }26 int main(int argc, char **argv){27 if(argc!=2){28 cerr << "error,please enter something to be split" << endl;29 return 1;30 }31 vector
result;32 splitUtf8String(argv[1], result);33 for(vector
::iterator it = result.begin(); it != result.end(); it ++)34 cout << *it << endl;35 return 1;36 }

转载于:https://www.cnblogs.com/2010Freeze/articles/2654002.html

你可能感兴趣的文章
LimeJS指南3
查看>>
关于C++ const成员的一些细节
查看>>
《代码大全》学习摘要(五)软件构建中的设计(下)
查看>>
C#检测驱动是否安装的问题
查看>>
web-4. 装饰页面的图像
查看>>
微信测试账户
查看>>
Android ListView上拉获取下一页
查看>>
算法练习题
查看>>
学习使用Django一 安装虚拟环境
查看>>
Hibernate视频学习笔记(8)Lazy策略
查看>>
CSS3 结构性伪类选择器(1)
查看>>
IOS 杂笔-14(被人遗忘的owner)
查看>>
自动测试用工具
查看>>
前端基础之BOM和DOM
查看>>
[T-ARA/筷子兄弟][Little Apple]
查看>>
编译Libgdiplus遇到的问题
查看>>
【NOIP 模拟赛】Evensgn 剪树枝 树形dp
查看>>
java学习笔记④MySql数据库--01/02 database table 数据的增删改
查看>>
两台电脑如何实现共享文件
查看>>
组合模式Composite
查看>>