怎么判断一个字符是不是全角字符,并且区分是汉字还是汉语符号
while((e=fgetc(aa))!=EOF){ if(e<0)
zz++;
这样可以判断一个字符是不是双字节符号,但是问题是会统计所有的双字节符号,我希望能有一个统计一个字符是不是汉字的方法,在线等挺急的!!拜托了!能不能回帖时写上代码...救命..
#include <stdio.h> int main(void) { int ch, gb2312 = 0; FILE* fp = NULL; /* GB2312 */ fp = fopen("1.txt", "r"); if (NULL == fp) { perror("fopen failed"); return 127; } while ((ch = fgetc(fp)) != EOF) { if (ch < 0x7f) { /* ascii range */ printf("ascii char : %c\n", ch); } if ((ch >= 0xa1) && (ch <= 0xfe)) { /* gdb2312 range */ if (gb2312) { gb2312 <<= 8; gb2312 += ch; if (gb2312 >= 0xb0a1) { /* hanzi range */ printf("GB2312 hanzi : %x\n", gb2312); } else { printf("GB2312 symbol : %x\n", gb2312); } gb2312 = 0; } else { gb2312 = ch; } } else { /* unknown */ printf("unknown byte %x\n", ch); } } return 0; }