C语言是一种广泛使用的编程语言,它提供了丰富的文件操作功能,在本文中,我们将详细介绍C语言中的文件操作,包括文件的打开、关闭、读取、写入等操作。
1、文件指针
在C语言中,文件操作是通过文件指针来实现的,文件指针是一个指向文件的指针变量,通过它可以对文件进行各种操作,在使用文件之前,需要先定义一个文件指针,并使用fopen
函数打开文件。
FILE *fp; fp = fopen("example.txt", "r"); // 以只读模式打开名为"example.txt"的文件
2、文件打开
fopen
函数用于打开文件,其原型如下:
FILE *fopen(const char *filename, const char *mode);
- filename
:要打开的文件名(包括路径)。
- mode
:文件打开模式,如只读、只写、读写等。
返回值:成功时返回一个非空的文件指针,失败时返回NULL。
以只读模式打开名为"example.txt"的文件:
FILE *fp; fp = fopen("example.txt", "r"); if (fp == NULL) { printf("无法打开文件! "); return 1; }
3、文件关闭
使用完文件后,需要使用fclose
函数关闭文件,释放系统资源,其原型如下:
int fclose(FILE *stream);
要关闭的文件指针。
返回值:成功时返回0,失败时返回EOF。
关闭已打开的文件:
if (fclose(fp) != 0) { printf("关闭文件失败! "); return 1; }
4、文件读取
C语言提供了多种读取文件的方式,如按字符读取、按行读取等,以下是一些常用的文件读取函数:
- fgetc
:从文件中读取一个字符。
- fgets
:从文件中读取一行字符串。
- fscanf
:按照指定的格式从文件中读取数据。
- fread
:按照指定的大小从文件中读取数据。
- feof
:检查是否到达文件末尾。
- ftell
:获取当前文件指针的位置。
- rewind
:将文件指针重置到文件开头。
- fseek
:设置文件指针的位置。
- fseek64
:64位系统中的文件指针位置设置函数。
- ftell64
:64位系统中获取当前文件指针位置的函数。
- ftello
:64位系统中获取当前文件指针位置的函数(推荐使用)。
- fflush
:清空缓冲区,将内容写入文件。
- fgetpos
:获取当前文件指针的位置。
- fsetpos
:设置文件指针的位置。
- ferror
:检查上一个文件操作是否出错。
- clearerr
:清除错误标志和错误消息。
- perror
:输出错误信息。
- strerror
:获取错误信息的字符串表示。
- errno
:获取错误编号。
- sys_errlist
:获取错误编号对应的错误信息列表。
- strerror_r
:获取错误信息的字符串表示(线程安全)。
- errx
:格式化输出错误信息并退出程序。
- warn
:输出警告信息。
- vwarn
:输出详细的警告信息。
- exit
:退出程序。
- atexit
:注册程序终止时的清理函数。
- on_exit
:注册程序终止时的清理函数(推荐使用)。
- abort
:中止程序执行。
- quiet_warnings
:关闭警告信息输出。
- setlocale
:设置本地化信息。
- nl_langinfo
:获取本地化信息。
- bindtextdomain
:绑定本地化信息到域名。
- textdomain
:设置本地化信息的域名。
- dgettext
:根据上下文获取本地化信息字符串。
- dcgettext
:根据上下文和编码获取本地化信息字符串(推荐使用)。
- ngettext
:根据上下文获取本地化信息字符串(复数形式)。
还没有评论,来说两句吧...