Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Fstream] Ecriture de variable dans un fichier et extraction et lecture de celle ci plus tard...

    25 janvier 2006 à 15:23:22

    Bonjour,

    Voila pour mon jeu, je voudrais faire un système de sauvegarde/load.
    Pour cela je dois envoyer mes variables courantes dans le fichier puis pouvoir les utiliser ensuite... :D

    Je sais que c'est bizzare come question mais bon o_O

    Merci d'avance!
    • Partager sur Facebook
    • Partager sur Twitter
      25 janvier 2006 à 16:24:15

      Voila ce qu'un membre m'avait montrer je me souvient plus qui et je trouve plus le topic mais voilà :

      #include <stdio.h>
      #include <stdlib.h>
      #include <time.h>




      void ecriture()
      {
        // on ouvre highscores.txt et le w signifie ecriture
        FILE* fichier = fopen("highscores.txt","w");
        // on écrit les scores
        fprintf(fichier,"%ld\n", nombreDeCoup);
        // on le referme
        fclose (fichier);
      }

      void lecture()
      {
          // pour la lecture c'est la meme chose sauf q'un utilise scanf
          // on ouvre highscores.txt et le r signifie lecture
          FILE* fichier = fopen("highscores.txt","r");
          // on lit les scores
          fscanf(fichier,"%ld",);
         
          printf();
         
          // on le referme
          fclose (fichier);
      }
      • Partager sur Facebook
      • Partager sur Twitter
        25 janvier 2006 à 18:11:11

        Sinon, j'avais fais un code qui enregistre une variable int dans un fichier et la recharge a partir de ce meme fichier dans une autre variable int ^^ :
        // Fichier header necessaire pour respectivement utiliser les flux E/S standard,
        // lire/ecrite dans un fichier et manipuler les string
        #include <iostream>
        #include <fstream>
        #include <string>

        // On dit au compilateur qu'on utilise l'espace de nom standard (std)
        using namespace std;

        int main() {
                int taVariable = 5;
                // le fichier "fichier.txt" doit se trouver dans le repertoire de l'executable
                // et il peut etre n'importe quoi
                // Je l'ouvre ici en ecriture pour y ecrire une variable :
                ofstream file_e("fichier.txt");

                // On ecris dans le fichier de la meme facon que l'on utilise cout
                file_e << "taVariable : " << taVariable << "\n";

                // On oublie pas de le fermer
                file_e.close();

                // Je l'ouvre ici en lecture pour recuperer les données qu'il contient
                ifstream file_l("fichier.txt");
               
                // Tu as 2 methode pour lire un fichier :
                // Soit ligne par ligne, soit caractère par caractère, ce que je fais ici :
                char ch;
                string txtInFile = "";
                while(file_l.get(ch))
                        txtInFile += ch;

                // A la fin de la boucle, txtInFile contient l'ensemble du fichier ;
                // On l'affiche ici a l'ecran mais tu peux enlever cette ligne
                cout << txtInFile << "\n";

                // Va contenir le nom de la variable contenu dans le fichier
                string nomVariable = "";
                // Va contenir sa valeur
                string valueVariable = "";
                // Va contenir sa valeur convertie en int
                int valueTaVariable = 0;
                // A partir d'ici, on a le contenu du fichier entier, voici comment couper
                // un texte avec ses espaces
                // txtInFile.c_str() renvoie un char* const, que l'on cast en non-const
                char *temp = const_cast<char*>(txtInFile.c_str());
                char *pch;
                // On commence une boucle qui va couper chaque mot avec chaque espace
                // jusqu'a ce qu'il n'y arrive plus (plus d'espace)
                pch = strtok(temp," ");
                while(pch != NULL) {
                        // Si nomVariable ne correspond pas au nom de ta variable (ecris plus haut)
                        if(strcmp(nomVariable.c_str(),"taVariable"))
                                // On le reassigne
                                nomVariable = pch;
                        // Sinon on assigne valueVariable a pch, qui devrait etre sa valeur
                        else {
                                // Si valueVariable egal 0
                                if(!valueTaVariable) {
                                        // On reassigne valueVariable et on le reconvertis
                                        valueVariable = pch;
                                        valueTaVariable = strtol(valueVariable.c_str(),NULL,10);
                                }
                                // Sinon on a bien recuperer la valeur de ta variable enregistrer plus haut,
                                // Donc on quitte la boucle avec un break;
                                else
                                        break;
                        }
                        // On continue de couper le texte selon les espaces
                        pch = strtok(NULL," ");
                }

                // On oublie pas de fermer le fichier ^^
                file_l.close();

                // On affiche les 2 variables trouvée a l'ecran :
                cout << nomVariable << " : " << valueTaVariable << "\n";

                return 0;
        }
        • Partager sur Facebook
        • Partager sur Twitter
          25 janvier 2006 à 18:15:03

          Le plus simple si tu ne dois stocker que des types de bases serait d'utiliser un fichier .ini.
          Tu récupères les données avec GetPrivateProfileInt / GetPrivateProfileString et tu écris avec SetPrivateProfileInt et SetPrivateProfileString (de mémoire). La msdn devrait t'aider un bon coup ;)
          • Partager sur Facebook
          • Partager sur Twitter
            26 janvier 2006 à 18:28:53

            Quelqu'un connaitrait un code en C++ avec iostream?
            • Partager sur Facebook
            • Partager sur Twitter

            [Fstream] Ecriture de variable dans un fichier et extraction et lecture de celle ci plus tard...

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown