c - 用C从二进制文件中一点一点地读取

标签 c file-io bit-manipulation fread

我每一步都需要读取256位,直到二进制文件结束。c中有没有一点一点读取的操作?我使用 fread 函数并读取 32 个字符。对于所有字符,我逐位移动 8 次。阅读后,我将这 256 位写入文件。我必须写同样的东西吗?我的意思是我写 32 个字符 => 32*8 = 256 位。

最佳答案

不,您可以读取或写入的最小项目是 char (请记住,这不是 必须 8 位,这取决于实现)。如果你想操作 char部分一旦你把它存入内存,你就需要使用 bitwise operators& , | <<>> ( andorleft/right shift )。

是的,你可以做到 fwrite写入任意数量的字符(与使用 fread 读取它们的方式相同)。

关于c - 用C从二进制文件中一点一点地读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16372084/

相关文章:

C:使用结构比较文件中的 2 个字符串

c - Visual Studio 2015 显示调试断言失败

java - 当前路径和输入文件

c - 这样一个复杂的函数来测试变量是否不为零有什么好处?

c++ - 使用签名数据按位解包

c - 在不知道参数的情况下将函数调用传递给另一个

c++ - 生成文件 : How to link object files from different subdirectory and include different search paths

c++ - 使用 cppUnit 的开源项目?

file-io - 如何在 dart 中读取带有过滤器对话框的文件?

c - 我如何在 C 中找到 x 的任何位是否等于 1