大家好!我正在尝试读取文件的前 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
有没有办法访问特定的整数字节?或者也许是从文件中读取字节的更好方法?