头文件: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()逐个读取文件中的字符。