バイナリファイルからデータを読み込み、構造体に格納しようとしています。ファイルを構造体に読み込む(C++)
03 56 04 FF FF FF ...
そして、私の実装は次のとおりです:data.bin
の 最初の数バイトがある
#include <iostream>
#include <fstream>
int main()
{
struct header {
unsigned char type;
unsigned short size;
} fileHeader;
std::ifstream file ("data.bin", std::ios::binary);
file.read ((char*) &fileHeader, sizeof header);
std::cout << "type: " << (int)fileHeader.type;
std::cout << ", size: " << fileHeader.size << std::endl;
}
私は期待していた出力がtype: 3, size: 1110
ですが、いくつかの理由で、それはtype: 3, size: 65284
だ、そうでは、基本的には、第2のバイトファイルはスキップされます。ここで何が起こっていますか?
'はsizeof(ヘッダ)が'何ですか?私はそれが4であることを賭けて喜んで... – Cameron
ええ、ええ。私はそれをチェックすべきだった。 – vind