我正在进行数据传输和计算crc。我在计算机上观察到的是这个代码将blob文件的二进制数据从地址0x2420输出到0x2430输出
4f ef ff c0 48 ef 0 f8 0 48 ef 7c 0 0 28 30
它应该在哪里
4f ef ff c0 48 ef 0 f8 0 c0 48 ef 7c 0 0 28
使用xxd或hexdump(hexdump有错误的endianes)看到了
代码:
#include <iostream>
#include <stdint.h>
#include <fstream>
#include <iterator>
template<typename iterator>
uint32_t PrintData(iterator it,int len)
{
for(int i = 0; i < len; i++ )
{
std::cout<<std::hex<<(uint32_t)*it<<" ";
it++;
}
std::cout <<std::endl;
return 0;
}
int main()
{
std::ifstream file;
file.open("blob",std::fstream::in | std::fstream::binary);
std::istream_iterator<uint8_t> stream(file.seekg(0x2420,std::ios::beg));
PrintData(stream,16);
}
来源和数据 https://docs.google.com/file/d/0B4BEBIblI7RPTnFjYU8zU0cyQlk/edit?usp=sharing