Uploaded by xuemei peng

文件

advertisement
文件:在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(使用文件状态函数来判断)
Download