所有的文件分为两种:ASCII文件、二进制文件。
ASCII文件:文件在磁盘中以字符(1 byte)为单位进行存储。
二进制文件:文件在磁盘中以二进制编码的方式进行存储。
为了说明ASCII文件和二进制文件的区别,例举如下实例:
把字符串”200“按照存储为ASCII文件,由于一个字符占一个字节,则需要三个字节;若将其存储为二进制文件,由于8位二进制数表示的范围为0-255,故只需要1个字节。
个人认为,C语言文件读写操作分为三种:
1. 字符读写;
2. 字符串读写;
3. 数据块读写。
C语言为这三种文件操作提供了三组不同的函数。
1.字符读写函数
读文件:fgetc ,getc;
写文件:fputc ,putc;
2. 字符串读写函数
读文件:fgets,gets;
写文件:fputs,puts;
3. 数据块读写函数
读文件:fread;
写文件:fwrite;
在这10个函数中,以f开头的都是对文件进行操作,没有以f开头的都是对终端进行操作,这里的终端就是输入输出流,stdin、stdout。
对文件的读写还可以分为顺序读写和随机读写。使用函数rewind 和 fseek可以对文件进行随机读写。