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

时间:2016-02-21 12:43:31

标签: c binary file-handling

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

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

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

通常通过添加填充来处理这些问题。您可以假装原始文件已填充零(例如),直到下一个4个字节的倍数。