其实所有的文件最终都是二进制的
文本文件无非是用最简单的方式可以读写的文件
more、tail、vi(unix)
而二进制文件是需要专门的程序来读写的文件
文本文件的输入输出是格式化,可能经过转码
文本vs二进制
Unix喜欢用文本文件来做数据存储和程序配置
交互式终端的出现使得人们喜欢用文本和计算机“talk”
Unix的shell提供了一些读写文本的小程序
Windows喜欢用二进制文件
DOS是草根文化,并不继承和熟悉Unix文化
PC刚开始的时候能力有限,DOS的能力更有限,二进制更接近底层
文本 vs二进制
文本的优势是方便人类读写,而且跨平台
文本的缺点是程序输入输出要经过格式化,开销大
二进制的缺点是人类读写困难,而且不跨平台
int的大小不一致,大小端的问题…
二进制的优点是程序读写快
配置
Unix用文本,Windows用注册表
数据
稍微有点量的数据都放数据库了
媒体
·这个只能是二进制的
现实是,程序通过第三方库来读写文件,很少直接读写二进制文件了
二进制读写
·size_t fread(void * restrict ptr,size_t size, size_tnitems,FILE*restrict stream);
. size_t fwrite(const void * restrict ptr, size_t size,size_t nitems,FILE*restrict stream);
·注意FILE指