文件:在C语言中,文件是存储一连串bytes的数据,可以被当作 文本或者位串来处理(数据的集合)。同时也是一种输入输出 流,被定义在stdio.h中的FILE类型变量。 文本文件 类型 二进制文件 顺序存取 存取方式 (输入输出) 随机存取 文件读取时,系统会为文件开辟缓存区,来提高读写速度。 FILE *file指针指向文件的起始位置 tpyedef struct { short level; //缓冲区满或空的程度 unsigned flags; //文件状态标志 char fd; //文件描述符 unsigned char hold; //如缓冲区无内容不读取字符 short bsize; //缓冲区的大小 unsigned char*buffer; unsigned char*curp; unsigned istemp; //数据缓冲区的位置 //文件位置标记指针当前的指向 //临时文件指示器 short token; //用于有效性检查 }FILE //这是TC2.0中的定义 打开文件 FILE * fopen(const char * path, const char * mode); •path:标示文件名string字面量 •mode:表示访问模式的string字面量 •读取模式(const char * mode) | mode | 介绍 | | --- | --- | | “r” | 读取 | | “w” | 写入(如果文件不存在则创建新的文件,如果文件已经存在就把文件清空)| | “a” | 添加(如果文件不存在则创建新的文件) | | “r+” | 打开一个已经存在的文件进行读写 | | “w+” | 打开文件进行读写(如果文件已经存在把文件清空,不存在创建新的) | | “a+” | 打开文件进行读写(如果文件已经存在,从已有文件开头开始读,从已有文件结尾开始写入;若不存 在则创建新的文件) | (二进制读取模式:"rb", "wb", "ab", "rb+", "wb+", "ab+“) 注意在C语言中,文件改变没有任何确认 如果失败返回NULL,可能读取失败或者到了EOF(使用文件状态函数来判断)