fgetc() 与getc()有什么区别呢?

2024-11-24 04:38:18
推荐回答(3个)
回答1:

fgetc():
定义函数
int fgetc(FILE * stream);
函数说明
fgetc()从参数stream所指的文件中读取一个字符。若读到文件尾而无数据时便返回EOF。
返回值
fgetc()会返回读取到的字符,若返回EOF则表示到了文件尾。

getc():
功 能: 从流中取字符
用 法: int getc(FILE *stream);
注意: 此函数被ISO C声明为一个宏,所以在用时不能将其做为函数指针传(有一些编译器将其以函数形式也给另说)。它的原型如下 #define getc(_stream) (--(_stream)->_cnt >= 0?0xff & *(_stream)->_ptr++ : _filbuf(_stream))
补充: 在C语言中,用函数getc(fgetc)从文件读取字符。getc、fgetc用法相同。 getc的调用形式:ch=getc(fp);此处的fp是文件指针;函数功能是从文件指针指向的文件读入一个字符,并把它作为函数值返回给字符型变量ch。

回答2:

getc()和fgetc()函数即可以接收键盘输入(f)getc(stdin),也可以读取文本文件(f)getc(file
*stream),成功,返回读取的字符,否则返回eof,原型都在头文件stdio.h中,两者没有区别。
putc()和fputc()是输出函数,(f)putc(stdin)写字符到显示器,也可以写到文本文件fputc(file
*stream)。成功,putc()返回写出的字符,而fputc()返回写出的字符数(奇怪不?),不成功都返回eof。

回答3:

fgetc() 从文件读
getc()从键盘读
它们的格式也有区别