C - 将 .doc 文件读取为 32 位二进制数

标签 c binary file-handling

这只是一个练习任务,因为“每个文件只是一个具有不同字节集的二进制文件。” ,我正在读一篇.doc文件为二进制文件,假设

“这个 .doc 文件实际上是一个包含 32 位无符号数字的二进制文件,我想在文件中将它们按升序排序。”

到目前为止,我的逻辑是计算文件中的总字节数除以 sizeof(int) ,并制作 int该大小的数组。并开始读取 bytes 。但这个逻辑有一个问题: file.doc,大​​小为 250 bytes哪里sizeof(int) = 4 ,现在250/4 = 62.5 ,我创建了一个包含 63 个整数的数组,现在我将如何处理 63rd integer ,作为 32 位二进制数?

最佳答案

执行类似 rem = filesize % sizeof(int) 的操作来获取最后一个连续的 sizeof(int) 字节 block 之后的字节数,以及最后一个数组中的整数执行fread(&array[i], rem, 1, stream)

关于C - 将 .doc 文件读取为 32 位二进制数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35536266/

相关文章:

python - 如何在 Python 中移动文件?

c - 使用 vpath 的简单 make 文件不起作用

c++ - 如何使用按位运算符提取整数中的数字

c++ - sd_journal_send 发送二进制数据。如何使用 journalctl 检索数据?

java - java中deleteOnExit()方法的使用

C++ : file handling_manipulation of objects anf filesr + binary file not read

通过 C 中的 SO 更改内存中的值

c - 如何在编译时执行接口(interface)契约(在 C 中)?

python - 在 Python 中用二进制表示法构建二进制数列表

iphone - 在越狱的 iPhone 上执行二进制文件