在C语言中,读取文件是一种常见的操作,通过读取文件,我们可以获取程序所需的数据,如文本、图像等,本文将详细介绍C语言如何读取文件里的东西,包括文件指针、打开文件、关闭文件、读取文件等内容。
文件指针
文件指针是一个用于指向文件的指针变量,在C语言中,我们使用FILE *
类型的指针来表示文件指针,当需要操作一个文件时,首先需要声明一个文件指针变量,然后使用fopen()
函数打开文件,并将返回的文件指针赋值给该变量。
1、声明文件指针变量
FILE *fp;
2、打开文件
fp = fopen("example.txt", "r");
example.txt
是要打开的文件名,"r"
表示以只读方式打开文件,如果文件不存在,fopen()
函数将返回NULL
,在使用文件指针之前,需要检查文件是否成功打开:
if (fp == NULL) { printf("无法打开文件 "); exit(1); }
打开文件和关闭文件
1、打开文件
使用fopen()
函数可以打开文件,该函数的第一个参数是文件名,第二个参数是操作模式,常用的操作模式有:
"r"
:以只读方式打开文件(默认模式)
"w"
:以写入方式打开文件,如果文件存在,则清空原有内容;如果文件不存在,则创建一个新文件
"a"
:以追加方式打开文件,如果文件存在,则在文件末尾追加内容;如果文件不存在,则创建一个新文件
"x"
:以独占创建方式打开文件,如果文件已存在,则返回错误;如果文件不存在,则创建一个新文件
"b"
:以二进制方式打开文件,可以与其他模式组合使用,如"rb"
、"wb"
、"ab"
、"xb"
等
"t"
:以文本方式打开文件(默认模式),可以与其他模式组合使用,如"rt"
、"wt"
、"at"
等
以只读方式打开名为input.txt
的文件:
FILE *fp = fopen("input.txt", "r");
2、关闭文件
使用fclose()
函数可以关闭已打开的文件,该函数无返回值,在关闭文件后,应将文件指针置为NULL
,以防止对已关闭的文件进行操作:
fclose(fp); fp = NULL;
读取文件内容
1、读取字符和字符串
可以使用fgetc()
、fgets()
等函数从文件中读取字符或字符串,这些函数需要一个已打开的文件指针作为参数,从文件中读取一个字符并打印其ASCII码:
int ch; while ((ch = fgetc(fp)) != EOF) { printf("%d ", ch); }
2、按行读取文本内容
可以使用fgets()
函数按行读取文本内容,该函数需要一个已打开的文件指针、一个缓冲区数组和一个最大字符数作为参数,从文件中读取所有行并打印:
char buffer[1024]; while (fgets(buffer, sizeof(buffer), fp) != NULL) { printf("%s", buffer); }
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/154905.html