1.文件类型
根据数据的组织形式,数据文件可分为文本文件和二进制文件。数据在内存中以二进制的形式存储,如果不加转换的输出到外存,就是二进制文件。如果要求在外存上以ASCII码的形式存储,则需要在存储前转换,以ASCII字符的形式存储的就是文本文件。
2.文件缓冲区
ANSIC 标准采用“缓冲文件系统”处理的数据文件的,所谓缓冲文件系统是指系统自动地在内存中为程序中每一个正在使用的文件开辟一块“文件缓冲区”。从内存向磁盘输出数据会先送到内存中的缓冲区,装满缓冲区后才一起送到磁盘上。如果从磁盘向计算机读入数据,则从磁盘文件中读取数据输入到内存缓冲区(充满缓冲区),然后再从缓 冲区逐个地将数据送到程序数据区(程序变量等)。缓冲区的大小根据C编译系统决定。
3.文件操作函数
(1)文件打开和关闭
ANSIC规定使用fopen函数来打开文件,fclose来关闭文件
FILE * fopen(const char* filename, const char* mode);
int fclose(FILE * stream);
打开方式:
(2)文件的顺序读写(主要掌握fscanf和fprintf)
(3)文件的随机读写
fseek
根据文件指针(光标)的位置和偏移量来定位文件指针
int fseek(FILE * stream, long int offset, int origin);
stream可理解为遥控器,offset为偏移量,origin为起始位置
ftell
返回文件指针(光标)相对于起始位置的偏移量
long int ftell(FILE * stream);
rewind
让文件指针(光标)回到文件的起始位置
void rewind(FILE * stream);