每天学一点库函数11

C 语言文件操作

众所周知,C语言拥有对文件拥有操作能力,比如说.doc文件、.c文件 、.o文件等等。他们都是用来保存一定的数据的,那么这些文件有没有什么区别呢?

文本文件与二进制文件

C语言中将文件分成了两大类,文本文件和二进制文件。文本文件是指以ASCII码方式(也称文本方式)存储的文件,更确切地说,英文、数字等字符存储的是ASCII码,而汉字存储的是机内码。文本文件中除了存储文件有效字符信息(包括能用ASCII码字符表示的回车、换行等信息)外,不能存储其他任何信息。
二进制文件指的是利用特殊的编码规则生成的文件。常见的有.icc文件、.exe文件。利用文本编辑器将其打开便会看到一堆乱码。
然而C语言操作他们的顺序则差不多,接下来便简单介绍一下。
文件的操作需要添加 #include <stdio.h> 这行代码

文件的打开

文件的打开使用fopen这个函数,可以打开二进制文件也可以打开一个文本文件。其语法结构为:
FILT * fopen(const char* fname, const char *mode)
其中,const cahr * fname 是文件名,const char * mode 是模式选择,可以选择不同的功能。
其中:
“r” 代表着打开一个用于读取的文本文件
“w” 创建一个用于写入的文本文件
“a” 附加到一个文本文件
“rb” 打开一个用于读取的二进制文件
“wb” 创建一个用于写入的二进制文件
“ab” 附加到一个二进制文件
“r+” 打开一个用于读、写的文本文件
“w+” 创建一个用于读、写的文本文件
“a+” 打开一个用于读、写的文本文件
“rb+” 打开一个用于读、写的二进制文件

如果打开失败,则会返回一个NULL,,否则的话返回一个关联该文件的流。

文件的读取

文件的读取使用的是fread()函数,其语法结构为
int fread(void *buff , size_t size, size_t num ,FILE *stream)
其中,该函数从stream文件流中读取num个size大小的对象存放到buffer缓冲区中,返回读取的内容数量。如果读出的是字符串,则不会在末尾自动添加‘\0’,需用户手动添加。

文件的写入

文件的写入使用的是fwrite()函数,其语法结构为
int fwrite(const void *buffer , size_t size, size_t count ,FILE *stream)
其中,该函数从数组buffer中写入count个大小为size的对象到stream指定的流,返回写入对象的数量。

文件的关闭

文件的关闭便是使用fclose()函数了。其语法结构为
int fclose(stream)
关闭成功返回0,否则返回EOF。

猜你喜欢

转载自blog.csdn.net/ichliebecamb/article/details/88342653