码迷,mamicode.com
首页 > 编程语言 > 详细

C语言判断中文字符

时间:2014-11-15 14:02:33      阅读:296      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   color   ar   sp   div   log   bs   

#include<stdio.h>

int main()
{
    char s[20];
    int i,j;
    char a,c[3];
    FILE * fp;
    scanf("%s",s);
    fp=fopen(s,"r");
    if(!fp){
        printf("open error\n");
        return 1;
    }
    i=0;
    c[2]=\0;
    while((a=fgetc(fp))!=EOF){
        if(a&0x80){
            c[i]=a;
            i++;
            if(i==2){
                printf("%s 是汉字\n",c);
                i=0;
            }
        }
        else i=0;
    }
              getchar();
    getchar();
    return 0;    
}

汉字编码区别于其他编码的标志就是汉字编码的最高位是1. 0x80在计算机内部表示为1000 0000 这段程序常用于判断当前字符是否是汉字.&是按位与, 对应都是1时才为1, 其它情况均未0. 如: 1010 1011 & 1000 0000 = 1000 0000 即  a&0x80

C语言判断中文字符

标签:style   blog   io   color   ar   sp   div   log   bs   

原文地址:http://www.cnblogs.com/hlwyfeng/p/4099132.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!