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

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

为什么要用二进制写文件

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

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

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

第一:

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

第二:

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

第三:

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

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

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

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

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

    写入二进制文件

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

    • 演示

      输出入一个整数:

    • 读二进制文件

      使用文件流的read方法.

      • 演示

      • 输出结果为:

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

猜你喜欢

转载自blog.csdn.net/weixin_46464021/article/details/106697883
今日推荐