Petit problème avec ma sauvegarde (voici juste l'extrait du sous-programme) :
#include "../Structures/structure_joueur.h"
void sauvegardeclassique(int nb_joueurs, t_joueur joueur_x[], t_carte cartes) // Sauvegarde n°1
{
FILE* sauvegarde1 = NULL;
sauvegarde1 = fopen("sauvegarde1.txt", "w"); // "w" pour ECRASEMENT donc on crée un NOUVEAU FICHIER et on ECRASE l'autre si il y'en a un
fprintf(sauvegarde1, "%d\n", nb_joueurs);
for (int x = 0; x < nb_joueurs; x++) // Boucle pour sauvegarder les structures
{
fflush(stdin);
fprintf(sauvegarde1, "%s\n", joueur_x[x].pseudo);
fprintf(sauvegarde1, "%d\n", joueur_x[x].argent);
fprintf(sauvegarde1, "%d\n", joueur_x[x].position);
fprintf(sauvegarde1, "%d\n", joueur_x[x].ancienne_position);
fprintf(sauvegarde1, "%d\n", joueur_x[x].prison);
}
fclose(sauvegarde1);
sauvegarde1 = NULL;
}
Une fois le sousprog executé, on retrouve donc un fichier texte, et dans ce fichier texte, tout est faux au niveau des print SAUF le nombre de joueurs
(dans mon programme, si je joue une partie de mon jeu et que j'y met le nombre de joueurs, ça me crée n profils de joueurs, on doit choisir le pseudo, mais l'argent, la position et la prison sont directement choisies par des variables définies)
On obtient un fichier txt comme ça :
- Edité par Clément 2910 8 janvier 2022 à 17:37:43
La fonction ne semble pas être en cause. Il faut vérifier que tes données sont correctes et que tu passes bien les bons paramètres à ta fonction. Je ne peux pas deviner les types de tes données, ce sont peut-être eux le problème.
Suggestion : ajoute des 'printf' identiques, mais qui s'afficheront en console. On s'attend à ce qu'ils affichent des valeurs fausses, ce qui prouvera que la fonction ne dispose pas des bonnes valeurs. Reste à savoir pourquoi.
En recherche d'emploi.