我创建了这个程序:
#include <iostream>
#include <fstream>
using namespace std;
int main () {
fstream file;
file.open("test.bin", ios::in | ios::out | ios::binary);
if(!file.is_open())
{
return -1;
}
int n = 5;
int x;
file.write(reinterpret_cast<char*>(&n), sizeof(n));
file.read(reinterpret_cast<char*>(&x), sizeof(x));
std::cout<<x;
file.close();
std::cin.ignore();
return 0;
}
这应该将整数“n”写入.bin文件“test.bin”,然后从“test.bin”读取数据到整数“x”,然后在屏幕上显示“x”。
当我运行程序时,它显示的不是 5,而是 -842150451。为什么会发生这种情况,我该如何解决?