在二进制文件结束之前,我需要为每一步读取 256 位。c 中是否有任何操作可以逐位读取?我使用 fread 函数并读取 32 个字符。对于所有字符,我逐位移动 8 次。读完后,我将这 256 位写入文件。我必须写同样的东西吗?我的意思是写 32 个字符 => 32*8 = 256 位。
问问题
2934 次
1 回答
3
不,您可以读取或写入的最小项目是 a char
(请记住,这不一定是8 位,这取决于实现)。如果您想在内存中操作a 的某些部分char
,则需要使用按位运算符,例如 as &
、|
<<
和>>
( and
、or
和left/right shift
)。
是的,您可以fwrite
编写任意数量的字符(以与您fread
阅读它们相同的方式)。
于 2013-05-04T08:12:51.680 回答