博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c++ 带中文汉字的字符串截取
阅读量:5090 次
发布时间:2019-06-13

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

C++的string字符串中同时含有汉字和英文字符时,由于汉字和英文字符所暂的字节长度不一样,

直接用substr(int begin,int end) 截取容易出现乱码,在网上找了个方法测试有效,现在记录一下:

1 //判断字符是否是中文2 int is_zh_ch(char p){3     if(~(p >> 8) == 0)4     {5         return 1;6     }7     return -1;8 }
1 string sub(string str,int start,int end){ 2     if(typeid(str)==typeid(string) && str.length()>0){ 3         int len=str.length(); 4         string tmp=""; 5         vector 
dump; 6 int i=0; 7 while(i
0?end:dump.size();19 if(start<0||start>end){20 printf("方法调用错误,第一个参数应该大于等于0且小于第二个参数!\n");21 }22 for(int i=start; i<=end; i++)23 {24 tmp+=dump[i-1];25 }26 return tmp;27 }28 else29 {30 printf("请输入字符串!\n");31 return "";32 }33 }
//函数的调用int main(){    string p="2017年04月01日10时48分19秒       基准测试_小白兔        _feeder1 test_sg_kg 大灰狼(后台补)";    cout<
<

运行结果如下:

 

转载于:https://www.cnblogs.com/whvit/p/8250552.html

你可能感兴趣的文章
各种求逆元
查看>>
UVA213信息解码
查看>>
203-陈冠权
查看>>
javascript开发系列---仿android toast提示
查看>>
Java中MVC模式
查看>>
作业七:OpenPAI与NNI的使用
查看>>
js ShowDialogModal 关闭子页面并刷新父页面,保留查询条件
查看>>
【摘录】成功者的6种心态
查看>>
unison+inotify数据实时双向同步
查看>>
php对mysql的相关操作
查看>>
基元线程同步构造
查看>>
ElasticSearch 获取es信息以及索引操作
查看>>
Apollo快速安装视频教程
查看>>
mysql 用户管理和权限设置(转)
查看>>
PHP进程通信基础——信号
查看>>
32复用
查看>>
COGS 1578. 次小生成树初级练习题
查看>>
工作三年的思考
查看>>
jquery $.fn $.fx是什么意思有什么用
查看>>
javaWeb中的文件上传下载
查看>>