allocation dynamique et sauvegarde sur fichier
bonsoir ,
j'ai une structure qui contient un tableau double dimension que j'alloue dynamiquement puis je sauvegarde le tous en binaire , ensuite j'essaie de creer une seconde structure puis je recupere les donne depuis les fichier et j'affiche .
mon bout de code est tres tres simple donc la lecture sera rapide :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| #include<iostream>
#include<fstream>
using namespace std;
struct map {
char** terrain; // [20][30]
void remplir();
void sauvegarder();
void charger();
void afficher();
};
void map::remplir(){
terrain = new char* [20];
for(int i=0;i<20;i++)
terrain[i] = new char [30];
char remplissage='a';
for(int i=0;i<20;i++){
for(int j=0;j<30;j++)
terrain[i][j] = remplissage;
remplissage++;
}
}
void map::afficher(){
for(int i=0;i<20;i++){
for(int j=0;j<30;j++)
cout<<terrain[i][j];
cout<<endl;
}
}
void map::sauvegarder(){
ofstream file("modele",ios::out | ios::binary );
file.write((char*)this,sizeof(map));
file.close();
}
void map::charger(){
ifstream file("modele",ios::in | ios::binary );
if(!file )
{
cout<<"fichier introuvable"<<endl;
return;
}
file.read((char*)this,sizeof(map));
file.close();
}
int main()
{ //quand je met cette partie en commentaire sa ne marche pas
map ancien;
ancien.remplir();
ancien.sauvegarder();
map nouv;
nouv.charger();
nouv.afficher();
cout<<endl;
return 0;
} |
pourquoi quand j'enleve la premiere partie du main sa ne marche pas ?
merci de m'aider .