多一分钟学习,早一秒钟提高
VC++、C++、Socket、DirectUI、wxWidgets、Cocos2d-x、CocosCreator、Unity3D、UE4、ThinkPHP
posts - 32, comments - 12, trackbacks - 0, articles - 0
C++博客
::
首页
::
新随笔
::
联系
::
聚合
::
管理
判断字符串中是否含有汉字
Posted on 2013-07-15 20:37
虚空骄阳
阅读(2033)
评论(0)
编辑
收藏
引用
所属分类:
C++
【方法1】
首先,汉字是双字节的编码格式!
汉字的第一字节:是从0xB0 开始编码
汉字的第二字节:是从0xA1 开始编码
有了以上的了解,就不难识别出是中文,还是其他的编码,程序中只需要判断( 第一字节>=0xB0 && 第二字节>=0xA1 )就好!
int
IncludeChinese(
char
*
str)
//
返回0:无中文,返回1:有中文
{
char
c;
while
(
1
)
{
c
=*
str
++
;
if
(c
==
0
)
break
;
//
如果到字符串尾则说明该字符串没有中文字符
if
(c
&
0x80
)
//
如果字符高位为1且下一字符高位也是1则有中文字符
if
(
*
str
&
0x80
)
return
1
;
}
return
0
;
}
【方法2】
int
main()
{
char
sztext[]
=
"
是ciw.
"
;
char
c
=
0
;
char
szchinese[
3
]
=
{
0
}
;
int
i
=
0
, nlen
=
strlen(sztext);
for
(; i
<
nlen; i
++
)
{
if
( sztext[i]
>=
0
&&
sztext[i]
<=
127
)
//
不是全角字符?
c
=
sztext[i], printf(
"
%c\n
"
, c);
else
//
是全角字符
szchinese[
0
]
=
sztext[i], szchinese[
1
]
=
sztext[i
+
1
], printf(
"
%s\n
"
, szchinese), i
++
;
//
中文是2个字节,所以i++
}
return
0
;
}
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
网络游戏常用类
一些常用的小函数
判断字符串中是否含有汉字
C++ 取汉字拼音首字母
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
Powered by:
C++博客
Copyright © 虚空骄阳
日历
<
2013年7月
>
日
一
二
三
四
五
六
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
给我留言
查看公开留言
查看私人留言
随笔分类
(32)
Android(9)
C++(4)
C++ List(5)
C++ Map(2)
Cocos2d-x(5)
MySql(2)
WAMPServer(1)
wxWidgets(4)
随笔档案
(32)
2017年4月 (1)
2016年4月 (2)
2014年7月 (1)
2014年5月 (3)
2014年4月 (3)
2013年11月 (9)
2013年7月 (2)
2013年2月 (1)
2012年11月 (1)
2012年10月 (2)
2012年6月 (7)
搜索
最新评论
1. re: CArray,CMap,CList 速度比较
刚刚提交的
--العاب
2. re: CArray,CMap,CList 速度比较
Thank you my friend is beautiful article, Very nice and good job.
--العاب سيارات
3. re: CArray,CMap,CList 速度比较
感謝你使這實在是寫得很好,例如
--kizi
4. re: Android使用JNI实现Java与C之间传递数据
fff
--asdf
5. re: CArray,CMap,CList 速度比较
good blog, i like this
--Kizi
阅读排行榜
1. Android jni中数组参数的传递方式(24058)
2. 使用wxFormBuilder(20020)
3. Android NDK 开发教程五:Android.mk文件(9576)
4. Android NDK 开发教程三:Hello JNI 示例(7185)
5. Android使用JNI实现Java与C之间传递数据(6558)
评论排行榜
1. CArray,CMap,CList 速度比较(10)
2. Android使用JNI实现Java与C之间传递数据(1)
3. Android NDK 开发教程四:TwoLibs示例(1)
4. Android NDK 开发教程五:Android.mk文件(0)
5. Android NDK 开发教程六: application.mk(0)