0

在二进制文件结束之前,我需要为每一步读取 256 位。c 中是否有任何操作可以逐位读取?我使用 fread 函数并读取 32 个字符。对于所有字符,我逐位移动 8 次。读完后,我将这 256 位写入文件。我必须写同样的东西吗?我的意思是写 32 个字符 => 32*8 = 256 位。

4

1 回答 1

3

不,您可以读取或写入的最小项目是 a char(请记住,这不一定是8 位,这取决于实现)。如果您想在内存中操作a 的某些部分char,则需要使用按位运算符,例如 as &| <<>>( andorleft/right shift)。

是的,您可以fwrite编写任意数量的字符(以与您fread阅读它们相同的方式)。

于 2013-05-04T08:12:51.680 回答