みなさんこんにちは!ファイルの最初の 4 バイトを読み取り、整数変数に格納しようとしています。ここに私がやっていることがあります:
#include <iostream>
#include <fstream>
#include <iomanip>
#include <cstring>
using namespace std;
int main(){
ifstream is;
is.open ("binary_file.dat", ios::binary );
char file_version[4];
is.read(file_version, 4);
int fv_int;
memcpy(&fv_int, file_version, sizeof(fv_int));
cout << fv_int;
}
しかし、結果は私が意図したものではありません。プログラムはファイルの最初のバイトを正しい位置にコピーしますが、残りのバイトは 0 と見なします。例:
ファイルの最初の 4 バイト:
10101010 00101100 00101100 00101100
プログラム実行後の fv_int の内容は次のとおりです。
10101010 00000000 00000000 00000000
整数の特定のバイトにアクセスする方法はありますか? それとも、ファイルからバイトを読み取るより良い方法でしょうか?