Dobrý den,
Zkoušel jsem napsat program ve Visual c++, který používá binární soubory. Překladač mi nehlásí žádné chyby, ani varování. Zápis do souboru taky funguje. Když ale spustím program a chci, aby četl z binárního souboru, normálně informace vypíše, ale pod tím mi hlásí neošetřenou výjimku o poškozené paměti nebo tak něco. Tady je kód. Prosím o pomoc
#include "stdafx.h"
#include <fstream>
#include <iostream>
#include <string>
using namespace std;
struct planeta
{
string jmeno; //Jméno planety
int prumer; //Průměr planety
int populace; //Počet obyvatel
};
int main(void)
{
cout<<"1)Zapsat novou planetu"<<endl;
cout<<"2)Precist informace o zapsane planete"<<endl;
int in_out ;cin>>in_out;
if(in_out==1)
{
planeta pl;
cout<<"Zadejte jmeno: ";cin>>pl.jmeno;
cout<<"Zadejte prumer km: ";cin>>pl.prumer;
cout<<"Zadejte pocet obyvatel: ";cin>>pl.populace;
fstream s;s.open("planeta.txt",ios_base::out|ios_base::binary);
s.write((char*)&pl,sizeof pl);
s.close();
system("cls");
cout<<"Nova planeta byla zapsana";
}
if(in_out==2)
{
system("cls");
planeta pl;
ifstream s;s.open("planeta.txt",ios_base::binary);
s.read((char*)&pl,sizeof pl);
cout<<"Jmeno: "<<pl.jmeno<<endl<<"Pruměr km: "<<pl.prumer<<endl<<"Pocet obyvatel: "<<pl.populace<<endl;
s.close();
}
cin.get();
return 0;
}
DÍKY :-)