C语言中的高效文件保存,将某些位写入二进制文件

时间:2016-05-17 06:38:41

标签: c binaryfiles

我确信我从0-7获得了数字,并且我有兴趣让代码尽可能高效。 我想只将三个最低有效位输入到二进制文件中,而不是整个字节。 无论如何我只能写3位吗?我得到了大量的数字...... 我找到的另一种方法是尝试混搭数字(00000001 shl 3& next number) 虽然总是奇怪的。

1 个答案:

答案 0 :(得分:3)

文件在字节级工作,无法输出单个位 1 。您必须读取包含您感兴趣的位的原始字节,使用您必须修改的位(使用按位操作)修复它们并将它们写回原位。

1。无论如何这样做效率都不高。硬盘最好用大块写入;闪存盘实际上要求使用大块(=>单个位更改需要一个完整的块擦除和重写);它们是操作系统和磁盘控制器执行大量写入缓存的一些原因。

相关问题