C语言fgetc()函数:从文件流中读取一个字符
头文件:include<stdio.h>
fgetc()函数用于从文件流中读取一个字符,其原型为:
int fgetc(FILE * stream);
【参数】stream为文件指针。
【返回值】成功返回读取到的字符,读到文件结尾时返回EOF。
说明:fget() 返回的字符实际上是文件流( FILE 结构体)中位置指针所指向的字符。fgetc()读取错误时,返回EOF并设置文件错误标志位;ferror() 函数可检测此错误。
关于文件流的更多信息请参考:对C语言输入输出流和缓冲区的深入理解
fgetc()和getc()作用相同,不过在有些库中,getc()被定义为宏。
fgetc(stdin)等价于fgetchar(),更多信息请参考:C语言fgetchar()函数
【实例】打开一个文件,使用fgetc()获取其内容并显示出来。
fgetc()函数用于从文件流中读取一个字符,其原型为:
int fgetc(FILE * stream);
【参数】stream为文件指针。
【返回值】成功返回读取到的字符,读到文件结尾时返回EOF。
说明:fget() 返回的字符实际上是文件流( FILE 结构体)中位置指针所指向的字符。fgetc()读取错误时,返回EOF并设置文件错误标志位;ferror() 函数可检测此错误。
关于文件流的更多信息请参考:对C语言输入输出流和缓冲区的深入理解
fgetc()和getc()作用相同,不过在有些库中,getc()被定义为宏。
fgetc(stdin)等价于fgetchar(),更多信息请参考:C语言fgetchar()函数
【实例】打开一个文件,使用fgetc()获取其内容并显示出来。
#include <stdio.h> #include <stdlib.h> #include <io.h> #include <conio.h> int main(void) { char msg[] = "This is a test!\n"; char msgget[100]; int i = 0; FILE* fstream; fstream=fopen("D:\\test.txt","r"); // 打开 if(fstream==NULL) { printf("Open file failed!\n"); exit(1); } i = 0; while ((msgget[i]=fgetc(fstream))!=EOF) { fputc((msgget[i]), stdout); i++; } fclose(fstream); return 0; }程序首先是打开文件test.txt,如果成功打开,则使用while 循环调用fgetc()逐个读取文件中的字符。