二进制文件流读写-C++

为什么要用二进制写文件

计算机在物理上的存储是以二进制方式存储的,那么文本文件与二进制文件的区别就是物理存储上的吗?

不,而是逻辑上的,这两者只是在编码层次上有差异,文本文件是基于字符编码的文件,常见编码有ascll编码,unicode编码等,二进制文件是基于值编码的文件,可以根据应用,指定某个值是什么意思(这样一个过程可以看作是自定义编码);

文本文件基本上是定长编码的,基于字符,每个字符在具体编码中是固定的,ascll码是特定的编码,而二进制可以看作是变长编码

第一:

使用二进制文件比较节约空间,比如在存储数字,特别实型数字时,二进制更节省空间

第二:

计算机物理内存中都是用二进制无格式存储起来的,所以二进制存储到文件就更快捷,如果存储为文本文件时,需要转换的过程,所以在数据量很大时,两者的差别就会体现出来

第三:

一些比较精确的数据,使用二进制存储不会造成有效位丢失.

文本文件与二进制文件的区别:

*
写入数字 1,实际写入的是 字符 '1'

*
二进制文件:写数字1,实际写入的是整数 1 ;

*
1的二进制是0001 (所占4个字节,最低是1, 追高3个字节都是0);

写入二进制文件

使用文件流对象的write方法写入二进制数据.

*
演示

输出入一个整数:

*
*
读二进制文件

使用文件流的read方法.

*
演示

*

*
输出结果为:

*

*
更多技术交流欢迎来到~奇牛

*

技术
©2019-2020 Toolsou All rights reserved,
指定位置输出字符串(详细解析)(精华2020年6月2日更新) TypeScript函数详解华为鸿蒙操作系统有哪些特点和优势?余承东《全场景时代 新体验与新生态》演讲全文微软与 OpenAI 达成合作,获得 GPT-3 独家使用授权!el-select获取选中项label值最优化方法总结:公式解、数值优化、求解思想java中的编译时异常和运行时异常(精华)2020年7月30日 微信小程序 模块的使用MySql语句 递归寻找某输入部门的所有下级部门央视:Tiktok打官司表明了维权的态度和决心