0

私はデータ転送と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 のエンディアンが間違っている)

コード:

#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

4

0 に答える 0