Ich habe dieses Programm:Warum liest oder schreibt dieses Programm nicht korrekt aus einer .bin-Datei? (C++)
#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;
}
, die angeblich ist eine ganze Zahl schreiben „n“ in eine .bin-Datei „test.bin“, dann lesen Daten aus „test.bin“ in eine ganze Zahl " x "und zeigt dann" x "auf dem Bildschirm an.
Wenn ich das Programm ausführen, zeigt es nicht 5, sondern -842150451. Warum tritt das auf und wie kann ich es beheben?
Dupe von 908555. –
Nein - keine dup von 908555; das schließt das Lesen von Daten nicht ein. –