头文件: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()获取其内容并显示出来。
#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()逐个读取文件中的字符。