C语言文件函数详解

C语言是一种广泛使用的编程语言,它提供了丰富的文件操作函数,用于处理文本文件和二进制文件,本文将详细介绍C语言中的文件函数,包括文件的打开、关闭、读写等操作。

1、文件指针

在C语言中,文件操作是通过文件指针来实现的,文件指针是一个指向FILE类型的指针变量,通过调用fopen()函数来创建,当文件操作完成后,需要调用fclose()函数来关闭文件指针。

2、文件打开函数fopen()

fopen()函数用于打开一个文件,其原型为:

FILE *fopen(const char *filename, const char *mode);

参数说明:

- filename:要打开的文件名,可以是相对路径或绝对路径。

- mode:文件打开模式,如只读、写入、追加等,常用的模式有:

- "r":只读模式(默认值)

- "w":写入模式,如果文件存在则覆盖,不存在则创建新文件

- "a":追加模式,如果文件存在则在末尾追加内容,不存在则创建新文件

- "r+":读写模式,可以读取和写入文件

- "w+":读写模式,可以读取和写入文件,如果文件存在则覆盖,不存在则创建新文件

- "a+":追加读写模式,可以读取和写入文件,如果文件存在则在末尾追加内容,不存在则创建新文件

返回值:成功打开文件时返回一个非空的文件指针,失败时返回NULL。

3、文件关闭函数fclose()

fclose()函数用于关闭一个已打开的文件,其原型为:

int fclose(FILE *stream);

参数说明:

- stream:要关闭的文件指针。

返回值:成功关闭文件时返回0,失败时返回EOF。

4、文件读写函数fread()和fwrite()

fread()函数用于从文件中读取数据,其原型为:

size_t fread(void *ptr, size_t size, size_t count, FILE *stream);

参数说明:

- ptr:指向接收数据的缓冲区的指针。

- size:每个数据元素的大小。

- count:要读取的数据元素个数。

- stream:要读取数据的文件指针。

返回值:成功读取数据时返回实际读取的元素个数,失败时返回0。

fwrite()函数用于向文件中写入数据,其原型为:

size_t fwrite(const void *ptr, size_t size, size_t count, FILE *stream);

参数说明:

- ptr:指向要写入数据的缓冲区的指针。

- size:每个数据元素的大小。

- count:要写入的数据元素个数。

- stream:要写入数据的文件指针。

c语言文件函数 C语言文件函数的总结

返回值:成功写入数据时返回实际写入的元素个数,失败时返回0。

5、文件定位函数fseek()和rewind()、ftell()

fseek()函数用于改变文件的当前读写位置,其原型为:

int fseek(FILE *stream, long offset, int origin);

参数说明:

- stream:要改变位置的文件指针。

- offset:相对于origin位置的偏移量,正数表示向前移动,负数表示向后移动,origin可以是以下三个值之一:

- SEEK_SET:相对于文件开头偏移(默认值)

- SEEK_CUR:相对于当前位置偏移

- SEEK_END:相对于文件结尾偏移

- 返回值:成功改变位置时返回0,失败时返回非0值。

rewind()函数用于将文件的当前读写位置重置到文件开头,其原型为:

void rewind(FILE *stream);

参数说明:stream是要重置位置的文件指针,无返回值。