c c++怎么判断一个字符串中是否含有汉字
#include
#include
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;
}
#include
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;
}
首先,汉字是双字节的编码格式!
汉字的第一字节:是从0xB0 开始编码
汉字的第二字节:是从0xA1 开始编码
有了以上的了解,就不难识别出是中文,还是其他的编码!
程序中只需要判断( 第一字节>=0xB0 && 第二字节>=0xA1 )就好!
c c++怎么判断一个字符串中是否含有汉字的更多相关文章
- Python判断一个字符串中是否存在多个子串中的一个
在使用python的开发过程中,常常需要判断,字符串中是否存在子串的问题, 但判断一个字符串中是否存在多个字串中的一个时,如if (a or b) in c或者if x contains a|b|c| ...
- javascript 写一段代码,判断一个字符串中出现次数最多的字符串,并统计出现的次数
javascript 写一段代码,判断一个字符串中出现次数最多的字符串,并统计出现的次数 function test(){ var bt = document.getElementById(" ...
- Java 正则判断一个字符串中是否包含中文
使用正则判断一个字符串中是否包含中文或者中文字符 代码实现如下: import java.util.regex.Matcher; import java.util.regex.Pattern; /** ...
- js判断一个字符串中出现次数最多的字符及次数
最近面试总是刷到这个题,然后第一次的话思路很乱,这个是我个人思路 for循环里两个 if 判断还可以优化 var maxLength = 0; var maxStr = ''; var count = ...
- java判断字符串中是否含有汉字
原文:http://www.open-open.com/code/view/1426332240717 判断字符串中是否含有汉字: String str = "test中文汉字"; ...
- 检查字符串长度 检查字符串是否为空 用正则表达式验证出版物的ISBN号 用正则表达式验证邮证编码 验证字符串中是否含有汉字
<?php /** * 常用的正则表达式来验证信息.如:网址 邮箱 手机号等 */ class check { /** * 正则表达式验证email格式 * * @param string $s ...
- java 判断一个字符串中的数字:是否为数字、是否包含数字、截取数字
题外话: JavaScript中判断一个字符是否为数字,用函数:isDigit(); 一.判断一个字符串是否都为数字 package com.cmc.util; import java.util.re ...
- 判断一个字符串中是否包含另一个字符串(KMP、BF)
判断一个字符串是否是另一个字符串的子串,也就是strstr()函数的实现,简单的实现方法是BF算法. 1.BF算法 int BF(char *s, char *p){ ; ; int j; while ...
- c# 判断字符串中是否含有汉字,数字
正则表达式使用时需要引用 using System.Text.RegularExpressions; private void buttonX1_Click(object sender, EventA ...
随机推荐
- M1卡修改各区块控制位值和数据
(一),以常用设置"08 77 8F 69"控制条件为例,先搞清楚它――具有的访问权限. 1.对"08 77 8F 69"值进行计算,该值定位于各区块3的6,7 ...
- VMware workstaion上传虚拟机到VMware EXSI 5.5
1.首先在VMware Workstation 文件 --- 连接VMware EXSI5.5服务器. 2.输入VMware EXSI 5.5服务器地址.用户名和密码. 3.右键Windows 7 ...
- php 正则提取数字
<?php//$patterns = "/^(http|https):\/\/(.)*\.(.)*$/";$patterns = "/\d+/";$str ...
- 获取手机通讯录--ios
- (void)test { //这个变量用于记录授权是否成功,即用户是否允许我们访问通讯录 int __block tip=0; //声明一个通讯簿的引用 ABAdd ...
- -XX:PermSize -XX:MaxPermSize 永久区参数设置
-XX:PermSize -XX:MaxPermSize –设置永久区的初始空间和最大空间 -XX:PermSize 设置持久代(perm gen)初始值,物理内存的1/64 -XX:MaxPe ...
- Spring.Net实现IOC和DI
一:在Asp.net MVC中应该怎样使用Spring.Net?1:先导入dll文件. 2:将案例中的Config文件夹拷贝到项目中. 3:修改Config文件夹中的相关的配置信息. type里面填写 ...
- 关于python文件操作
http://www.cnblogs.com/rollenholt/archive/2012/04/23/2466179.html 总是记不住API.昨晚写的时候用到了这些,但是没记住,于是就索性整理 ...
- C#计算器代码
在刚刚接触c#的时候,就想做一个简单加减乘除计算器.这就是目标,可惜一直没有动手去做,今天特意把它简单做了.很简单,很简单,了却一个心愿了. 代码: using System; using Syste ...
- Jenkins入门系列之——01第一章 Jenkins是什么?
第一章 Jenkins是什么? Jenkins 是一个可扩展的持续集成引擎. 主要用于: l 持续.自动地构建/测试软件项目. l 监控一些定时执行的任务. Jenkins拥有的特性包括: l 易于安 ...
- /var/spool/postfix/maildrop 占用inode索引及磁盘空间解决办法
1.问题表现和检查 运行df -i / 查看inode使用是否满: 2.查看/var/spool/postfix/maildrop是否有非常多的小文件,ls直接卡死等情况 解决: 删除小文件: cd ...
转载▼