C++ 区分中文,非中文,截取含有中文的string字符串的两种方法
C++ 区分中文,非中文,截取含有中文的string字符串的两种方法
- 方法一 根据中文在ASCII中的范围判断
- 方法二 把string转成wstring
转自: http://blog.51cto.com/imyzy/1190639
方法一 根据中文在ASCII中的范围判断
#include "stdafx.h"
#include <string>
#include <iostream>
using namespace std;int _tmain(int argc, _TCHAR* argv[])
{string s = "你好CSDN,我的";string t;for(int i=0; i<s.length(); i++){if(s<255 && s>0)//扩充的ASCII字符范围为0-255,如是,处理一个字节{t.append(s.substr(i,1));t.append("/");}else//<0,>255的是汉字,处理两个字节{t.append(s.substr(i,2));t.append("/");++i;}}cout << t << endl;//输出符合要求return 0;
}
方法二 把string转成wstring
wstring str2wstr(string str)
{size_t len = str.size();wchar_t * b = (wchar_t *)malloc((len+1)*sizeof(wchar_t));MBCS2Unicode(b,str.c_str());wstring r(b);free(b);return r;
}string wstr2str(wstring wstr)
{size_t len = wstr.size();char * b = (char *)malloc((2*len+1)*sizeof(char));Unicode2MBCS(b,wstr.c_str());string r(b);free(b);return r;
}
以下为原作者的附言:
希望能为需要的朋友解决问题,
如果还不能解决可以联系QQ897703027,email: hongjiandao@163.com
欢迎大家交流cocos2d-x,C++等各方面的知识,或者创业团队求收留,本人目前在做cocos2dx网游
C++ 区分中文,非中文,截取含有中文的string字符串的两种方法相关推荐
- bash脚本截取字符串的两种方法
bash脚本截取字符串的两种方法 方法一:位置截取 #bin/bash STR="1234567890asdfghjkl" echo "first character $ ...
- Java截取String字符串的几种方法
方法一,指定字符,截取字符串,返回字符串数组: String str = "abcd,123,123abc,fij23"; String[] strs=str.split(&quo ...
- 截取含有中文、Emoji表情、特殊符号的字符串
在码代码时经常会遇到截取字符串的问题,有时候字符串会包含中文.Emoji表情.以及一些特殊符号,这时使用String的substring()进行截取操作,结果就有可能是乱码或者不符合要求.这是因为JV ...
- jquery 乱码 传参_jquery获取URL中参数解决中文乱码问题的两种方法
从A页面通过url传参到B页面时,解析url参数可以用下面两种方法: 方法一:正则分析法 function getQueryString(name) { var reg = new RegExp(&q ...
- bufferedreader读取中文乱码_Python读取excel的两种方法
excel是什么 Microsoft Excel是一个使用非常广泛的电子表格程序.它的用户友好性和吸引人的功能使其成为数据科学中常用的工具.对于excel来说,整个excel文件称为工作簿,工作簿中的 ...
- python统计中文字符的个数_python统计中文字符数量的两种方法
方法一: def str_count(str): '''找出字符串中的中英文.空格.数字.标点符号个数''' count_en = count_dg = count_sp = count_zh = c ...
- 两种解决Qt5显示中文乱码的方法(使用QStringLiteral和#pragma execution_character_set(utf-8)两种方法)
两种解决Qt5显示中文乱码的方法(使用QStringLiteral和#pragma execution_character_set("utf-8")两种方法) 升级到Qt5.X之后 ...
- 中文乱码翻译器在线翻译_如何将芬兰语翻译成中文?这两种方法你得会
我们在工作中有时候也会接触得到一些特殊的任务.举个例子,如果哪天上级让我们翻译芬兰语,若是不会翻译就很尴尬了.该怎么办呢?如何将芬兰语翻译成中文呢?这里小编想要推荐给大家两个比较好用的方法,有需要的小 ...
- python统计汉字个数是_python统计中文字符数量的两种方法
方法一: def str_count(str): '''找出字符串中的中英文.空格.数字.标点符号个数''' count_en = count_dg = count_sp = count_zh = c ...
最新文章
- 用来定制shell环境 set/shopt
- 一不小心就让Java开发者踩坑的fail-fast是个什么鬼?
- 简书markdown支持html,简书上使用Markdown(超详细)
- 在线VS Code阅读源码神器 github1s
- 华为HCC2014的变与不变
- 【论文写作】文献资料的作用只是添砖加瓦
- 自媒体人常用工具,你还不知道的快速保存无水印视频图片方法
- sql server 2000 打了sp4补丁包仍不能监听1433端口问题的解决
- jenkins 发送html邮件模板,Jenkins配置邮件通知
- 汽车IC TPS7A6633QDGNRQ1应用 低压降线性稳压器
- Badboy 安装 使用 常见问题 badboy当前页面脚本发生错误
- 剑指offer之数组中重复的数(Java实现)
- 个人股东股权转让涉税问题初探
- 第一篇--读刘同的《别做那只迷途的候鸟》
- 快递停发区域查询(需指定快递公司) 接口说明
- 百面机器学习02-模型评估
- rust油桶用什么打_文明重启油桶获取使用攻略_文明重启油桶怎么获取和使用_玩游戏网...
- linux如何查看x windows,X windows
- USB(六)-HID(报告描述符的结构实现)
- vue 动态设置 echarts 画布大小 更新图表数据
热门文章
- 深度剖析WinPcap之(二)——网络分析与嗅探的基础知识(1)
- python 三角形的三个边长a,b,c ,求三角形的面积?
- ISIS 7 Professional仿真——键控流水灯
- C++ 设计员工类(Employee)
- C++ 计算并输出三角形的面积
- swift 3d v6.0汉化中文版
- 解决 C# GetPixel 和 SetPixel 效率问题(转)
- python工具之myql数据库操作
- 51nod1092(lcs简单运用/dp)
- Java 如何有效地避免OOM:善于利用软引用和弱引用