文件的概念
文件就是用来存放程序,文档音频,视频等数据的,文件就是存放在磁盘上的一些数据的集合
在windows下可以通过写字板或者记事本打开文本文件对文件进行编辑保存
文件的分类
磁盘文件:(我们常认识的文件)
指一组相关数据的有序集合,通常储存在外部介质(如磁盘)上,使用时才调入内存
设备文件:
在操作系统中把每一个与主机相连的输入输出设备看作是一个文件,把他们的输入输出等同于对磁盘文件的读写
键盘:标准输入文件 屏幕:标准输出文件
标准io库函数对磁盘文件的读写特点(了解)
文件缓冲区是库函数申请的一段内存,由库函数对其进行操作。我们无需知道存放在哪里
VS中对普通文件的读写是全缓冲的
全缓冲:标准io库函数往普通文件的读写是全缓冲的
刷新缓冲区的情况:1 缓冲区满了,刷新缓冲区
2 调用函数刷新缓冲区fflush(文件指针)
3 程序结束,会刷新缓冲区
磁盘文件的分类:
一个文件通常是磁盘上一段命名的存储区,计算机的储存在物理上是二进制的,所以物理上所有磁盘文件本质上都是一样的:以字节为单位进行顺序存储
从逻辑上把文件分为:
文本文件:基于字符编码的文件
常见的编码由ASCII UNICODE等,一般可以用文本编辑器直接打开
二进制文件:基于值编码的文件
基于值编码,根据具体应用,指定某个值是什么意思,一般需要自己判断或者使用特定软件分析数据格式
文本文件,二进制文件对比
译码:文本文件基于字符定长译码容易些,二进制文件编码是变长的,译码难了一些(不同的 二 进制文件格式,有不同的译码方式,一般需要特定的软件进行译码)
空间利用率:二进制文件用一个比特代表一个意思(位),而文本文件任何一个意思至少是一个 字符。所以二进制文件利用率更高
可读性:文本文件用通用的记事本工具就几乎可以浏览所有文本文件
二进制文件需要一个具体的文件解码器,比如BMP文件,就必须用读图软件