Bonjour,

Je suis en train de gérer la sauvegarde pour un jeu de Nintendo DS.
C'est juste une écriture (basique) sur un fichier, puis une lecture...

Mais, j'ai un soucis, je ne récupère pas les bonnes valeurs.

Pouvez vous me dire si je m'y prends bien ?

J'ai créé cette structure :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
typedef struct
{
	int couleur;
	int modeJeu;
	int othellierSave[10][10];
}save_struct;
Puis la procédure sauvegarder :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
void Sauvegarder(int couleur, int othellier[NB_ELEMENT][NB_ELEMENT], int modeJeu){
	int i;
	int j;
 
	FILE *fichier=NULL;
 
	save_struct save_data;
 
	fichier=fopen("othellods.sav","wb+");
 
	if(fichier == NULL){
		PA_OutputText(1,8,20,"Erreur");
	}
	else
	{
		save_data.couleur=couleur;
		save_data.modeJeu=modeJeu;
 
		for(i=0;i<=9;i++){
			for(j=0;j<=9;j++){
				save_data.othellierSave[i][j]=othellier[i][j];
			}
		}
 
		fwrite(&save_data,sizeof(save_data),1,fichier);	
	}
 
	fclose(fichier);
}
Et enfin, la procédure charger :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void Charger(){
 
	FILE *fichier=NULL;
	//Fichier de sauvegarde
	save_struct save_data;
 
	fichier=fopen("othellods.sav","r");
	fread(&save_data, sizeof(save_data), 1, fichier); 
	fclose(fichier);
 
	PA_OutputText(0,1,3,"Couleur en cours : %d",save_data.couleur);
	PA_OutputText(0,1,4,"Mode de jeu : %d",save_data.modeJeu);
	PA_OutputText(0,1,5,"1ere case du tableau : %d",save_data.othellierSave[0][0]);
 
 
 
	//Jouer(save_data.othellierSave,save_data.modeJeu,save_data.couleur,1);
}
Lorsque j'affiche dans charger, j'ai le bon résultat comme couleur en cours, bon resultat pour mode de jeu, mais j'obtiens une valeur immense comme première case de tableau).


Pouvez vous m'aider, merci.