ポインター *p からバイナリ コード化された 16 進数値を読み取っています。
16 進値は、 2001:0db8:3c4d:0015:0000:0000:abcd:ef12 です。
対応するバイナリ値は次のとおりです。
char *mMmapBase;
mMmapBase = (char *) mmap( 0, mCollectionFileSize, PROT_READ | PROT_WRITE,
MAP_SHARED, fileno( aFilePtr ), 0 );
char *p = &mMmapBase[107]; //read from the offset 107
int aTwoBytes;
memcpy(&aTwoBytes, p, 2); //copy first two bytes
cout << "aTwoBytes : " << aTwoBytes << endl;
出力は 16 進数形式またはバイナリ形式で取得する必要がありますが、次の出力が得られます - aTwoBytes : 539492652。
また、16 進形式で出力したいのですが、どうすればそれを達成できますか?