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

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

为什么要用二进制写文件

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

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

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

第一:

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

第二:

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

第三:

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

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

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

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

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

    写入二进制文件

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

    • 演示

      输出入一个整数:

    • 读二进制文件

      使用文件流的read方法.

      • 演示

      • 输出结果为:

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

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值