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:根据上下文获取本地化信息字符串(复数形式)。



还没有评论,来说两句吧...