- 计算机与外部设备的交互依靠文件完成
文件是记录在外部介质上的数据的集合;例如1.c 是源码 1.exe可执行的文件
- 文件的分类
按组织结构: 记录文件:有一定结构的文件,可以解析成字段值的文件; 流式文件:对于源代码一类的属于流式文件(由一个个字符,字节按顺序组成) 按存储介质: 普通文件---存储介质文件(磁盘,磁带) 设备文件---非存储介质如显示器,键盘 打印机 按组织形式: 二进制文件:数据按其在内存中的原始形态存放 如果存入123 直接换算成二进制形式 文本文件:ASCII文件每个字节存放一个字符的ASCII 码(例如在文本写入123 1对应ASCII 49 2对应50 3对应51 分别把49,50,51换算为二进制,并存入字节)
文件的出现便于信息共享,数据和程序分离,数据的改变不影响程序的改变,文件还便于保存中间结果
- 文件的标识符
也就是文件的后缀名,什么样的文件用什么样的标识符,由操作系统决定
- 流
简化了编程的过程,操作,读写设备就是操作,读写数据的过程,是否正确输入/输出了数据,流可以屏蔽技术细节,主要用于设备文件和系统的通信,只要按照统一接口,就可以操作设备,数据搬运的过程就是流,
无须关心I/O设备
- 文件处理
缓冲文件系统 下载文件十分伤害磁盘,这时文件缓冲区就派上了用场,不妨下载到一定程度,一并写入磁盘,主要是提升磁盘的寿命 1.系统开辟内存缓冲区 2.用户自己设定文件缓冲区 比如我们可以通过重定向把文件输出到相关设备文件 非缓冲文件系统
- 文件类型指针
void main() { char words[30] = "喜欢企鹅人和谜语人 "; fputs(words, stdout);//stdout就是屏幕显示器 FILE *p = stdout; fputs("哦~尼格码!where are you? ",p); system("pause"); }