C语言getc()函数是用来获得文件流的一个一个字符,字符是一个字节为什么可以把中文给读出来??

如题所述

这个问题。比较复杂。
简单的说一下吧。
第一个:汉字的编码是有好几种的。UTF-8,UNICODE之类的。所有的汉字编码都不止一个字节。
有的编码汉字是用2个字节表示的。有的更多。
有的编码方式中汉字的字节数甚至不固定。有的汉字字节2个,有的3个4个。
你能读取出来的主要原因是因为读取到固定的几个字节后,系统会翻译一下显示出汉字。
比如读取的是一种编码是2个字节的汉字。系统读取2个字节后会翻译,显示在控制台上。
大概就是这个意思。如果要深入了解的话,那就必须要你自己去学了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-10-15

字符是一个字节不错,两个不就读出一个汉字了嘛!比如:

//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
int main(void){
    char a[]={0xce,0xd2,0xc3,0xc7};
    printf("%c%c%c%c\n",a[0],a[1],a[2],a[3]);
    return 0;
}

相似回答