C语言字符方式读文件

C语言字符方式读文件教程

C 语言 中,我们在使用 fopen 函数打开 文件 之后,可以按照单个 字符 的形式对文件进行读取,使用单个字符对文件进行读取的 函数 为 fgetc。

C语言fgetc函数详解

语法

int fgetc (FILE *fp);

参数

参数 描述
fp 打开文件返回的文件指针。

返回值

fgetc() 读取成功时返回读取到的字符,读取到文件末尾或读取失败时返回 EOF。

头文件

fgetc 函数在 stdio.h 的头文件里面。

技术细节

EOF 是 end of file 的缩写,表示文件末尾,是在 stdio.h 中定义的 ,它的值是一个负数,往往是 -1。fgetc() 的 返回值 类型之所以为 int,就是为了容纳这个负数(char 不能是负数)。

EOF 不绝对是 -1,也可以是其他负数,这要看编译器的实现。

案例

字符方式读文件

使用 fopen 函数打开文件,使用 fgetc 函数以字符方式读文件

#include <stdio.h> #include <stdlib.h> int main() { printf("嗨客网(www.haicoder.net)\n\n"); FILE *fp = NULL; if ( (fp = fopen("c:\\1.txt", "rt")) == NULL ) { puts("Open file failed\n"); return; } else { puts("Open file success\n"); } char ch = fgetc(fp); printf("Read char = %c\n", ch); // todo int ret = fclose(fp); if (ret == 0) { puts("Close file success\n"); } else { puts("Close file failed\n"); } return 0; }

程序运行后,控制台输出如下:

05_c语言fgetc按字符读取文件.png

我们首先,使用了 fopen 函数,打开了一个 c 盘的文件,打开成功后,我们使用打开后返回的 FILE 指针,并调用 fgetc 函数,来进行读取文件。

我们将读取到的文件内容,赋值给一个 char 类型的 变量,最后,使用 printf 打印了读取到的字符内容,同时,我们一定要记得在最后 关闭 打开的文件。

字符方式读取整个文件

使用 fopen 函数打开文件,使用 fgetc 函数以字符方式读取整个文件

#include <stdio.h> #include <stdlib.h> int main() { printf("嗨客网(www.haicoder.net)\n\n"); FILE *fp = NULL; if ( (fp = fopen("c:\\1.txt", "rt")) == NULL ) { puts("Open file failed\n"); return; } else { puts("Open file success\n"); } char ch; while ( (ch = fgetc(fp)) != EOF) { putchar(ch); } printf("\n"); // todo int ret = fclose(fp); if (ret == 0) { puts("Close file success\n"); } else { puts("Close file failed\n"); } return 0; }

程序运行后,控制台输出如下:

06_c语言fgetc按字符读取文件.png

我们在打开文件之后,使用了 while 循环 加上 fgetc 函数读取了整个文件的内容,while 循环结束的条件就是 fgetc 函数的返回值为 EOF。

C语言字符方式读文件教程总结

在 C 语言中,我们在使用 fopen 函数打开文件之后,可以按照单个 字符 的形式对文件进行读取,使用单个字符对文件进行读取的函数为 fgetc。