99问答网
所有问题
C语言getc()函数是用来获得文件流的一个一个字符,字符是一个字节为什么可以把中文给读出来??
如题所述
举报该问题
推荐答案 推荐于2016-11-12
这个问题。比较复杂。
简单的说一下吧。
第一个:汉字的编码是有好几种的。UTF-8,UNICODE之类的。所有的汉字编码都不止一个字节。
有的编码汉字是用2个字节表示的。有的更多。
有的编码方式中汉字的字节数甚至不固定。有的汉字字节2个,有的3个4个。
你能读取出来的主要原因是因为读取到固定的几个字节后,系统会翻译一下显示出汉字。
比如读取的是一种编码是2个字节的汉字。系统读取2个字节后会翻译,显示在控制台上。
大概就是这个意思。如果要深入了解的话,那就必须要你自己去学了。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/WXB7BXOBtt7zBBjOXOO.html
其他回答
第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;
}
相似回答
f
getc()
与getc()有
什么
区别呢?
答:
f
getc()
从参数stream所指的文件中读取
一个字符
。若读到文件尾而无数据时便返回EOF。返回值 fgetc()会返回读取到
的字符,
若返回EOF则表示到了文件尾。getc(): 功能: 从流中取字符 用法: int getc(FILE *stream);注意: 此函数被ISO C声明为一个宏,所以在用时不能将其做为函数指针传(有一些编译器将其以函...
请问:关于
C语言
中
getc(
stdin) 读取键盘缓冲区的问题?
答:
getc(
stdin)每次只能从缓冲区读取
一个 字符,
但是遇到回车符就结束了。连续从缓冲区读取循环此段代码。同样以回车结束。#include<stdio.h>void main(void){while(1){ char a;a=getc(stdin);printf("%c",a);}} 这是编译器内部定义的函数,他在头文件里的定义可以再函数名上击右键选getc定义查看...
C语言 getc
getchar有
什么
区别
答:
getchar: int getchar(void); 从标准输入流(stdin,通常是键盘)中读取
一个字符
。 函数声明在头文件<stdio.h>中。 getc: int
getc(
FILE *stream); 从
文件流
中读取一个字符。 函数声明在头文件<stdio.h>中。 fgetc: 与getc 完全相同,从文件中读取一个字符。
c语言getc
har
什么
的功能?
答:
1.读取字符 getchar()的功能最主要是
c语言
中读取字符
的一个函数
,能够提取单个字符。2.输入单个字符 getchar()的功能还可以从键盘中输入一个单个的
字符,
并且把单个的字符输入到计算机中。3.返回值是char类型 可以返回int类型的值。getchar由宏实现:#define getchar
()
getc(
stdin)。getchar有一...
C语言文件
操作中fgetc和
getc
有
什么
区别?
答:
getc()和f
getc()函数
即可以接收键盘输入(f)getc(stdin),也可以读取文本文件(f)getc(file stream),成功,返回读取
的字符,
否则返回eof,原型都在头文件stdio.h中,两者没有区别。putc()和fputc()是输出
函数,
(f)putc(stdin)写字符到显示器,也可以写到文本文件fputc(file stream)。成功,putc()...
C语言文件
操作
函数
总结
答:
fgetc(由文件中读取
一个字符
)相关函数 open,fread,fscanf,getc表头文件 includestdio.h定义函数 nt fgetc(FILE * stream);函数说明 f
getc()
从参数stream所指的文件中读取一个字符。若读到文件尾而无数据时便返回EOF。返回值 getc()会返回读取到
的字符,
若返回EOF则表示到了文件尾。范例#includestdio.hmain(){...
关于
C语言
读
文件的
问题,请教高人!
答:
以下为要读的文件:19000abc001dcfe004dkfjii2000001004000因为用f
getc()
的返回值可能是EOF,或者某
个字符
的ASCII码,是不是最好用int型呢?那读完第一行返回的
是什么
呢?想要获得第一行的... 以下为要读的文件:19000 abc001 dcfe004 dkfjii2000 001004 000因为用fgetc()的返回值可能是EOF,或者某个字符的ASCII...
C语言
中getchar
()
怎么用?
答:
getchar()返回输入流中
的一个字节,
如果输入流已经到尾部,返回EOF(-1)例如:define EOF -1 void func(void){ int c = getchar();//getchar 返回值是int if(c==EOF)return;func();//递归调用fun
c函数,
实现倒序输出 putchar(c);//输出字符 } 这个函数会在输入EOF后结束读取,然后输出输...
C语言
fseek
函数
如何处理
中文
答:
中文文件
要用TCHAR之类的多字节方法处理。你的方法
是把中文
看成2进制
一个字符一个字符
的数据文件来处理,也是
可以的,
fseek工作完全正常,问题是输出字符的显示,你可以显示每个字节的值,但不能显示成肉眼可识别的汉字。putchar ( ch ); 可用于 ASCII字符。你可以换成: printf("%02x ", 0xff & ...
大家正在搜
c语言文件调用函数
c语言文件读取函数
c语言主函数调用函数
c语言file函数头文件
C语言文件函数
c语言文件保存函数
c语言关闭文件函数
c语言文件写入函数
c语言文件函数返回值
相关问题
c语言中用fgets从txt文件中获取中文字符串,一个中文是...
C语言,getc()的问题
java中的FileInputStream()是字节流,但为...
C语言中getc怎么用?
C语言把文件看做是一个字符(字节)的序列 这句话什么意思?字...
C语言的一道题:
C语言中,我用putc 向文件内写入了一百多个字节的数据,为...