【发布时间】:2016-05-14 01:39:17
【问题描述】:
我是新来的,想问这个问题。 我正在使用一个二进制文件,每个字节、多个字节甚至一个字节的一部分都有不同的含义。
到目前为止,我一直在尝试将多个字节(在我的示例中为 4)读取为一个块。
我有它们的十六进制表示形式,例如:00 1D FB C8。
使用下面的代码,我分别阅读:
for (int j = 36; j < 40;j++)
{
cout << dec << (bitset<8>(fileBuf[j])).to_ulong();
}
其中j 是文件中字节的位置。前面的代码给了我029251200 这是错误的。我想要的是一次读取4个字节并得到1965000的答案
感谢您的帮助。 谢谢你。
【问题讨论】:
-
什么是
fileBuf? -
fileBuf是一个指针,我用它来读取二进制文件 -
也就是说,你是怎么定义fileBuf的。是字符 [4] 吗?如果是 int[4] 你问如何转换?是scanf()的结果吗?
-
坏消息,伙计。这:
cout << dec << (bitset<8>(fileBuf[j])).to_ulong();不是在读杰克。 -
您的问题不清楚。向我们展示您使用这两种方法尝试过的内容以及获得的结果。然后向我们展示您期望得到的结果。