Partage
  • Partager sur Facebook
  • Partager sur Twitter

Question sur les fichiers !

Comment modifier un fichier ?

Sujet résolu
    16 avril 2006 à 21:24:42

    Salut à tous , voila ce que je voudrais faire !
    • Supprimer une ligne d'un fichier.
    • Modifier une ligne.
    • Ajouter une ligne dans un fichier.
    Je rencontre pas mal de probleme avec ces trois fonctions , surtout la premiere et la deuxieme !
    • Partager sur Facebook
    • Partager sur Twitter
      16 avril 2006 à 21:54:36

      Citation : NarTy

      Salut à tous , voila ce que je voudrais faire !

      • Supprimer une ligne d'un fichier.
      • Modifier une ligne.
      • Ajouter une ligne dans un fichier.
      Je rencontre pas mal de probleme avec ces trois fonctions , surtout la premiere et la deuxieme !

      On ne peut pas modifier un fichier directement. Il faut le copier dans un autre en supprimant/modifiant/insérant la ligne concernée. Ensuite, on fait le ménage avec rename() et remove()...
      • Partager sur Facebook
      • Partager sur Twitter
      Music only !
        16 avril 2006 à 22:01:07

        d'accord je comprends , t'aurais pas un exemple rapide à me donner ?
        • Partager sur Facebook
        • Partager sur Twitter
          16 avril 2006 à 22:15:38

          Citation : NarTy

          d'accord je comprends , t'aurais pas un exemple rapide à me donner ?


          Euh, non, mais je suis sûr qu'en réfléchissant, tu vas trouver tout seul ! C'est le but du jeu, non ? Je t'ai déjà bien orienté...

          Quelques indices :

          2 fichiers
          • A : l'original en lecture ("r")
          • B : le nouveau en ecriture ("w")


          Secret (cliquez pour afficher)
          En gros, on lit les lignes de A et on les ecrit dans B. Mais avant d'écrire, on fait les tests nécessaire pour ajouter une ligne (une ecriture de plus..), supprimer (càd ne pas ecrire), modifier (en fait remplacer) la ligne courante... Il faut trouver un moyen de repérer la ligne (comptage...)

          Je ne pas en dire plus sans donner le code. Commence par écrire l'algo avec ces indications...
          • Partager sur Facebook
          • Partager sur Twitter
          Music only !
            16 avril 2006 à 22:18:31

            ah OKKKKKKKKKKK !!!
            Merci !
            • Partager sur Facebook
            • Partager sur Twitter
              18 avril 2006 à 0:32:49

              Salut !

              Moi aussi j'ai un peu le même problème, j'essaye (pour un éditeur de map ^^ ) d'écrire sur chaque ligne, mais je sais pas comment faire :(

              J'ai déjà un "truc" regardez si ça peux vous aider :

                  fichier = fopen("niveaux.lvl", "r");
                  fichier2 = fopen("niveaux_temp.lvl", "w");
                  if ((fichier != NULL) & (fichier2 != NULL))
                  {
                      while (fgets(chaineAc, NB_DS_LIGNE, fichier) != NULL) // On lit le fichier tant qu'on ne reçoit pas d'erreur (NULL)
                      {
                          if (map == nombre)
                          {
                              for (i = 0 ; i < NB_BLOCS_HAUTEUR ; i++)
                              {
                                  for (j = 0 ; j < NB_BLOCS_LARGEUR ; j++)
                                  {
                                      fprintf(fichier2, "%d", niveau[j][i]);
                                  }
                              }
                          }
                          else
                          {
                              for (i = 0 ; i < NB_DS_LIGNE ; i++)
                              {
                                  fprintf(fichier2, "%d", chaineAc[i]);
                              }
                          }
                          nombre++ ; // incrementation
                      }

                  fclose(fichier2);
                  fclose(fichier);

                  }
                  else
                  {
                      return 0;
                  }

              Hum hum, c'est le même que celui de M@théo21, mais j'ai essayé d'ajouter des truc...

              Merci d'avance !
              Bye !

              Edit : nan c'est bon j'écris à la ligne, mais le problème c'est que j'arrive pas à écrire une chaine dans un fichier avec fprintf :s
              (mais je post dans un autre sujet ? car celui ci est marqué comme fini...)

              Edit 2 : j'ai posté ailleur, donc un modo peux suprimmer mon post, désolé !
              • Partager sur Facebook
              • Partager sur Twitter

              Question sur les fichiers !

              × 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