Partage
  • Partager sur Facebook
  • Partager sur Twitter

Effacer seulement un peu !

comment supprimer un mot d'un .txt

Sujet résolu
    17 mai 2007 à 10:00:06

    Bonjour à tous ! ;)

    Voici le probleme : J'ai réalisé un programme qui crée des fichiers .txt :p .
    Avant d'ecrire son texte, l'utilisateur CHOISI le nom du fichier.
    Pour que l'utilisateur du programme puisse réouvrir un fichier existant, le nom qu'il tape est enregistre dans un fichier .txt :

    printf("\n-*- Tapez le Nom de votre Fichier (sans espace) :\t");
      scanf("%s",nomFichier);
      sauvegarde = fopen("mesNotes.txt", "a+");
      fprintf(sauvegarde,"%s \n",nomFichier);


    comme ça, pour réouvrir, je demande à l'utilisateur de choisir :

    sauvegarde = fopen("mesNotes.txt", "a+");
    printf("\n\nLequel ouvrir ? :\t");
           scanf("%s",fichierOuvrir);
           
           fichier = fopen(fichierOuvrir, "r+");
           
           if (fichier == NULL)
           { printf("le fichier n'existe pas !\n"); }


    La dernière fonction de mon programme permet à l'utilisateur de SUPPRIMER ses fichiers. Pour les suprimer, pas de probleme, mais :
    Comment suprimmer SEULEMENT le bon mot dans le fichier mesNotes.txt ?
    (afin que le fichier supprimé ne soit plus dans la liste des fichiers "à charger")


    J'espere que je me suis bien fait comprendre... ^^
    Merci,
    • Partager sur Facebook
    • Partager sur Twitter
      17 mai 2007 à 10:36:45

      Si j'ai bien compris tu cherches une chaine de caractère dans un fichier texte?
      Il existe déjà des fonctions pour ça:
      http://www.cs.cf.ac.uk/Dave/C/node19.html
      Et tu regardes un peu la page
      (surtout char *strstr(const char *s1, const char *s2) -- locates the first occurrence of the string s2 in string s1. )

      Ensuite il ne te reste qu'à supprimer le mot.
      • Partager sur Facebook
      • Partager sur Twitter
        17 mai 2007 à 10:40:12

        Merci pour ta réponse , mais :

        Citation : nepser

        Il existe déjà des fonctions pour ça:
        [edit]: trompé sur mes liens [/edit]



        o_O Pourrait tu me montrer comment utiliser cette fonction S.V.P ?
        • Partager sur Facebook
        • Partager sur Twitter
          17 mai 2007 à 10:42:07

          Je viens d'éditer désolé j'avais mis un lien sur des fonctions php :p
          • Partager sur Facebook
          • Partager sur Twitter
            17 mai 2007 à 10:47:11

            Il faut chercher une lettre de ce mot, avec un fonction de string.h, puis supprimer le mot jusqu'à l'espace prochain(faut voir avec les carartères ASCII...

            Pfranco
            • Partager sur Facebook
            • Partager sur Twitter
              17 mai 2007 à 11:18:48

              Ok, j'ai relu le tutos de Màtéo21, et j'ai fait ceci :

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

              // toutes mes varibles sont déclarées...

              /* PLEIN DE CODE */

              sauvegarde = fopen("mesNotes.txt", "a+");
              do
                      {
                          caractereActuel = fgetc(sauvegarde);
                          printf("%c", caractereActuel);// On affiche la liste des fichiers crées
                      } while (caractereActuel != EOF);

                     printf("Lequel supprimer ? :\t");
                     scanf("%s",fichierOuvrir);   // l'utilisateur ecrit celui qu'il veut supprimer
                     fichier = fopen(fichierOuvrir, "r+");
                     
                     if(fichierOuvrir==NULL)
                     {printf("Le fichier n'existe pas !\n");}
                   
                     else
                     {
                         suiteChaine = strstr(sauvegarde, fichierOuvrir);
                         if (suiteChaine != NULL)
                         {
                           // QUE FAIRE ICI POUR QUE LE MOT SOIT SUPPRIME ? ? ?
                           printf("fichier supprimer !");
                         }
                     }
                   


              Je pense qu'il y a une erreur dans mon code car "Fichier supprimer !" n'apparait pas sur la console... >_<

              De plus, la compile plante pour ceci :
              remove("%s", fichierOuvrir)

              ça m'ecrit :
              136 too many arguments to function `remove' 


              aidez moi s'il vous plait ! :'(
              • Partager sur Facebook
              • Partager sur Twitter
                17 mai 2007 à 11:57:38

                Un sring est un tableau, donc:
                unsigned int taille,i;
                char *p=NULL;
                taille=strlen(fichierOuvrir);
                *p=strstr(sauvegarde, fichierOuvrir);
                for(i=0;*(p+i+taille)!=EOF;i++) *(p+i)=*(p+i+taille);


                Cela permet à l'endroit ou commence ton mot ( *p=strstr(sauvegarde, fichierOuvrir);) de copier tout ce qu'il y a après la taille de ton mot.
                Par exemple sur le tableau:
                "Le lapin bleu des îles caïmens" ça deviendra pour le mot cherché bleu:
                "Le lapin des îles caïmens"

                PS: code à tester j'ai p-e fait des fautes.

                • Partager sur Facebook
                • Partager sur Twitter
                  17 mai 2007 à 14:34:59

                  Je dois être vraiment NUL parce que ça marche pas... :( :

                  printf("Lequel supprimer ? :\t");
                         scanf("%s",fichierOuvrir);                  // l'utilisateur ecrit celui qu'il veut supprimer
                         fichier = fopen(fichierOuvrir, "r+");
                         
                         if(fichierOuvrir==NULL)
                         {printf("Le fichier n'existe pas !\n");}
                       
                         else
                         {
                             taille=strlen(fichierOuvrir);
                             *p=strstr(sauvegarde, fichierOuvrir);
                              for(i=0;*(p+i+taille)!=EOF;i++) *(p+i)=*(p+i+taille);
                         }


                  Le programme est bien compilé, mais au moment de supprimer : ERREUR WINDOWS...

                  Je poste mon projet si ça peut aider quelqu'un...
                  TELECHARGER ICI
                  Merci ^^
                  • Partager sur Facebook
                  • Partager sur Twitter
                    17 mai 2007 à 14:38:06

                    Pour ce problème:
                    remove("%s", fichierOuvrir); // tu avais oublié le ; déjà ;p

                    ->
                    remove(fichierOuvrir);
                    • Partager sur Facebook
                    • Partager sur Twitter
                      17 mai 2007 à 15:14:29

                      merci à toi, Gambit2099 ! ;)

                      Plus qu'un problème à regler... :'(
                      • Partager sur Facebook
                      • Partager sur Twitter
                        17 mai 2007 à 16:39:29

                        Je suis entrain de me pencher sur ton problème, mais j'ai vu une chose avant qui me gène ;)

                        Si on prend le premier choix, ça nous crée un fichier sans extension *.txt !

                        Code que j'ai modifié:
                        char ext[5] = ".txt"; // au début où tu as toutes tes var

                        // bla blabla
                        printf("\n\n-*- Tapez le Nom de votre Fichier (sans espace) :\t");Color(12,15);
                          scanf("%s",nomFichier);
                          strcat(nomFichier, ext); // on concatène les deux chaines et par magie on obtiens un fichier *.txt :D


                        Edit: Tu ne mets jamais de fclose(); o_Oo_Oo_O
                        Pense à tous les remettre si tu ne veux pas de bug ! A chaque ouverture de fichier et du moment où tu n'en a plus besoin utilise fclose(PointeurSurFile);
                        • Partager sur Facebook
                        • Partager sur Twitter
                          17 mai 2007 à 16:44:53

                          Je sais bien que les fichiers n'ont pas l'extension .txt ;)
                          Mais cela ne pose aparament pas de probleme à "remove"

                          Le fichier a modifié est mesNotes.txt : c'est là que je n'arrive pas (malgré les conseils de nombreux Zér0 :) ) a supprimer JUSTE le nom d'un fichier : que ce soit exemple ou exemple.txt, ce mot reste dans mesNotes.txt ! ! !

                          PS : pour les fclose() : j'ai pas encore fini ce programme, et effectivement, j'ai pas encore mis les fclose().



                          • Partager sur Facebook
                          • Partager sur Twitter
                            17 mai 2007 à 16:47:02

                            J'ai édité mon message du dessus ;)

                            Exemple pour ici:
                              while (continuer)
                                {

                              scanf("%s",fichierTexte);

                              fprintf(fichier,"%s ",fichierTexte);

                                }
                                fclose(nomFichier); // LUI tu l'as oublié ici, comme à chaque fois plus bas :p


                            Citation : osf

                            Je sais bien que les fichiers n'ont pas l'extension .txt ;)
                            Mais cela ne pose aparament pas de probleme à "remove"



                            Oui mais si tu dis à tes utilisateurs que tu vas créer un fichier texte et que tu ne le fais pas ça sert à rien :p

                            encore un truc
                              else if (choixUtilisateur == 3)
                              {
                                   printf("Voici la liste des fichiers crees avec Blue-Note :\n\n");
                                   sauvegarde = fopen("mesNotes.txt", "r"); // r et pas a+ ;)
                            • Partager sur Facebook
                            • Partager sur Twitter
                              17 mai 2007 à 16:52:08

                              Citation : Gambit2099

                              Oui mais si tu dis à tes utilisateurs que tu vas créer un fichier texte et que tu ne le fais pas ça sert à rien :p



                              Pour moi, un fichier texte est un fichier avec du texte dedans... :p
                              si tu essaye d'ouvrir le fichier sans extension avec Bloc-Note ... ça marche et ça affiche le texte !

                              =====> peut etre considère (par moi en tout cas ^^ ) comme un fichier texte ! :D

                              EDIT : merci de corriger mon code, mais je n'en atend pas autant de ta part ! ^^
                              En tous cas merci beaucoup de m'aider !
                              • Partager sur Facebook
                              • Partager sur Twitter
                                17 mai 2007 à 16:58:00

                                Note: regarde souvent les posts d'au dessus car je les édit !

                                J'ai trouvé un autre problème
                                if(fichier==NULL) // C'est fichier qui est le pointeur pas fichierOuvrir
                                       {printf("Le fichier n'existe pas !\n");}

                                Tu confonds tes variables !

                                Juste au dessus:
                                      do
                                        {
                                            caractereActuel = fgetc(sauvegarde);
                                            printf("%c", caractereActuel);        // On affiche la liste des fichiers crées
                                        } while (caractereActuel != EOF);

                                        fclose(sauvegarde); // on oublie pas de fermer !
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  17 mai 2007 à 17:02:23

                                  je le redit : je ne te demande pas de corriger intégralement mon code !
                                  (perso, ça me gène pas ;) , mais bon...enfin, si ça dérange pas...)

                                  tu est mon :ange:

                                  enfin... :) as tu trouvé comment résoudre ce problème avec mesNotes.txt ? (enlevé la chaine de caractere du fichier supprimer...)

                                  Si tous les membres était comme toi.. ça serait la :soleil:
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    17 mai 2007 à 17:08:57

                                    Bouge pas j'ai corrigé ton problème :p
                                    Mais quand je fais ça j'en met un second à coté, j'vais essayer d'arranger tout ça =)
                                    En tout cas: ça marche mais bug xD wait ^^

                                    Edit: Vouaaaaaaaaaala :D
                                    Je te l'ai corrigé et ai mit des commentaires pour que tu comprennes bien.
                                    Note: j'aimerai que lorsque tu auras modifié avec mes modifications que tu me montres ici le code en entier (pour voir si tu as modifié un peu partout) ;)

                                    Avant tout place cette fonction dans ton code
                                    static void purger(void)
                                    {
                                        int c;

                                        while ((c = getchar()) != '\n' && c != EOF);
                                    } // MET CETTE FONCTION TOUT EN HAUT DE TON FICHIER (on l'utilise pour question de sécurité)


                                    Ensuite la partie 3 qui buggait ;)
                                    FILE *sauvegarde = NULL, *fichier = NULL;
                                        char fichierOuvrir[25];
                                        int caractereActuel;
                                    // Ces variables (si tu les a déclarées tout en haut de ton code) peuvent être supprimées

                                             printf("Voici la liste des fichiers crees Blue-Note :\n\n");
                                           sauvegarde = fopen("mesNotes.txt", "r");
                                          do
                                            {
                                                caractereActuel = fgetc(sauvegarde);
                                                printf("%c", caractereActuel);
                                            } while (caractereActuel != EOF);

                                            fclose(sauvegarde); // on oublie PAS de fermer après utilisation !

                                           printf("Lequel supprimer ? :\t");
                                           scanf("%s", fichierOuvrir);
                                           purger(); // on utilise notre fonction TOUJOURS et juste après un scanf
                                           fichier = fichierOuvrir; // On ouvre PAS le fichier mais...

                                           if(fichier==NULL) // .. on regarde s'il existe ou non !
                                           {printf("Le fichier n'existe pas !\n");}
                                          /* A PARITR DE LA, TOUT VA BIEN ;p....    */
                                           else
                                           {
                                               printf("fichier supprime");
                                               remove(fichierOuvrir); // On supprime ! ;D
                                           }
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      17 mai 2007 à 17:19:02

                                      Citation : Gambit2099

                                      Bouge pas j'ai corrigé ton problème :p
                                      Mais quand je fais ça j'en met un second à coté, j'vais essayer d'arranger tout ça =)
                                      En tout cas: ça marche mais bug xD wait ^^



                                      Oyé oyé : le mec ci dessus est trop cool ! :p


                                      J'attendrais, j'attendrais, prend ton temps !
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        17 mai 2007 à 17:19:48

                                        J'ai édité mon message :)

                                        Note: lit attentivement mes commentaires sur les codes ;) Ils sont très importants !

                                        Note2: Pense à faire un système qui supprime en même temps le nom du fichier dans mesNotes.txt car même supprimé il apparait toujours ;)


                                        Edit: Jviens de me rendre compte que l'inutilité de ceci:
                                        fichier = fichierOuvrir; // On ouvre PAS le fichier mais...

                                               if(fichier==NULL) // .. on regarde s'il existe ou non !

                                        Car ca sera toujours vrai en fait ôÔ!!!!! Mince -_-

                                        Edit: Tu as le droit de dire que je suis un boulet, code corrigé:
                                               printf("Lequel supprimer ? :\t");
                                               scanf("%s", fichierOuvrir);
                                               purger(); // on utilise notre fonction TOUJOURS et juste après un scanf
                                               fichier = fopen(fichierOuvrir, "r");

                                               if(fichier==NULL)
                                               {printf("Le fichier n'existe pas !\n");}
                                              /* A PARITR DE LA, TOUT VA BIEN ;p....    */
                                               else
                                               {
                                                   fclose(fichier);
                                                   printf("fichier supprime");
                                                   remove(fichierOuvrir); // On supprime ! ;D
                                               }


                                        Vouala :)
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          17 mai 2007 à 17:58:02

                                          Pourtant, il me semble que j'ai rien oublié, mais ça marche pô :'(

                                          #include <stdio.h>
                                          #include <stdlib.h>
                                          #include <windows.h>
                                          #include <string.h>

                                          static void purger(void)
                                          {
                                              int c;

                                              while ((c = getchar()) != '\n' && c != EOF);
                                          } // MET CETTE FONCTION TOUT EN HAUT DE TON FICHIER (on l'utilise pour question de sécurité)

                                          void Color(int couleurDuTexte,int couleurDeFond);



                                          int main(int argc, char *argv[])
                                          {
                                              UINT default_codepage = GetConsoleOutputCP();
                                              SetConsoleOutputCP(1252);                         //gere les accents (voir FAQ)

                                              system("COLOR FC");                  //couleur de fond
                                              system("TITLE Blue-Note")//titre de la fenetre console
                                              char fichierTexte [25000];
                                              char nomFichier [25], fichierOuvrir [25];
                                              int continuer=1, choixUtilisateur;
                                             
                                              int caractereActuel ;
                                              FILE *fichier = NULL, *sauvegarde = NULL;
                                              char ext[5] = ".txt";
                                             
                                          Color(9,15);

                                            printf("                    |------------------------------------|\n");
                                            printf("                    |  Bienvenue dans Blue-Note v.1.0 !  |        \n");
                                            printf("                      -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-          \n");
                                            printf("                          -_-_-_-_-_-_-_-_-_-_-_-_-              \n\n");
                                            Color(0,15);
                                            printf("Voulez vous : \n");
                                            printf("1. Créer un nouveau Document Texte\n2. Ouvir un Document Texte Existant\n3. Supprimer un Document Texte Existant\n");
                                            scanf("%ld",&choixUtilisateur);
                                            if (choixUtilisateur==1)
                                            {
                                            printf("\n\n-*- Tapez le Nom de votre Fichier (sans espace) :\t");Color(12,15);
                                            scanf("%s",nomFichier);
                                            strcat(nomFichier, ext);
                                           
                                            sauvegarde = fopen("mesNotes.txt", "a+");
                                            fprintf(sauvegarde,"%s \n",nomFichier);
                                            fclose(sauvegarde);
                                           
                                            Color(0,15); printf("-*- Tapez votre Texte : \n   (terminer par ENTRER avant de Fermer)\n\n-*-"); Color(9,15);
                                           
                                            fichier = fopen(nomFichier, "a+");
                                           
                                            while (continuer)
                                              {
                                                 
                                            scanf("%s",fichierTexte);
                                           
                                            fprintf(fichier,"%s ",fichierTexte);
                                           
                                              }
                                            fclose(nomFichier);
                                           
                                            Color(0,15);
                                           
                                           
                                           
                                            } // fin du IF

                                          else if (choixUtilisateur==2)
                                            {
                                                 printf("Voici la liste des fichiers crées avec Blue-Note :\n\n");Color(12,15);
                                                 sauvegarde = fopen("mesNotes.txt", "a+");
                                                do
                                                  {
                                                      caractereActuel = fgetc(sauvegarde); // On lit le caractère
                                                      printf("%c", caractereActuel); // On l'affiche
                                                  } while (caractereActuel != EOF); // On continue tant que fgetc n'a pas retourné EOF (fin de fichier)

                                                 fclose(sauvegarde);
                                                 
                                                 Color(9,15);
                                                 printf("\n\nLequel ouvrir ? :\t");
                                                 scanf("%s",fichierOuvrir);
                                                 
                                                 fichier = fopen(fichierOuvrir, "r+");
                                                 
                                                 if (fichier == NULL)
                                                 { printf("le fichier n'existe pas !\n"); }
                                                 
                                                 else
                                                 {       Color(0,15);
                                                         printf("\n");
                                                         do
                                                         {
                                                         caractereActuel = fgetc(sauvegarde); // On lit le caractère
                                                         
                                                         printf("%c", caractereActuel);// On l'affiche
                                                         
                                                         } while (caractereActuel != EOF); // On continue tant que fgetc n'a pas retourné EOF (fin de fichier)
                                                 
                                                 
                                                  Color(9,15);printf("\n\n-*- FIN -*-\n\n");Color(0,15);
                                                  printf("\nVous pouvez completer votre Document :\n\n-*-");Color(9,15);
                                                 
                                                 
                                                                 fichier = fopen(fichierOuvrir, "a+");
                                           
                                                                 while (continuer)
                                                                 {
                                                 
                                                  scanf("%s",fichierTexte);
                                           
                                                  fprintf(fichier,"%s ",fichierTexte);
                                                                     
                                                                      }
                                                 
                                                  Color(0,15);
                                                 }
                                                 
                                             fclose(fichier);
                                                 
                                                 
                                                 
                                                 
                                                 
                                            }//fin du else if

                                          else if (choixUtilisateur == 3)
                                            {
                                                 printf("Voici la liste des fichiers crées avec Blue-Note :\n\n");
                                                 sauvegarde = fopen("mesNotes.txt", "r");
                                                do
                                                  {
                                                      caractereActuel = fgetc(sauvegarde);
                                                      printf("%c", caractereActuel);        // On affiche la liste des fichiers crées
                                                  } while (caractereActuel != EOF);

                                                 fclose(sauvegarde);

                                                 printf("Lequel supprimer ? :\t");
                                                 scanf("%s",fichierOuvrir);          // l'utilisateur ecrit celui qu'il veut supprimer
                                                purger();
                                                 
                                                 fichier = fopen(fichierOuvrir, "r");
                                                 
                                                 if(fichier == NULL)
                                                 {printf("Le fichier n'existe pas !\n");}
                                               
                                                 else
                                                 {
                                                     printf("fichier supprimé\n");
                                                     remove(fichierOuvrir); // On supprime ! ;D
                                                 }
                                               
                                               
                                             } // fin du else if
                                           
                                           
                                           
                                           
                                            else
                                            {printf("\n ENTRER INCORRECT ! ! !\n");}
                                           
                                            SetConsoleOutputCP(default_codepage);

                                            system("PAUSE");     
                                            return 0;
                                          }




                                          void Color(int couleurDuTexte,int couleurDeFond) // fonction d'affichage de couleurs
                                          {
                                                  HANDLE H=GetStdHandle(STD_OUTPUT_HANDLE);
                                                  SetConsoleTextAttribute(H,couleurDeFond*16+couleurDuTexte);
                                          }


                                          Le fichier.txt que je crée est bien supprimé, mais son nom est toujours dans la liste de mesNotes.txt ...

                                          Citation : Gambit2099

                                          Tu as le droit de dire que je suis un boulet, code corrigé:


                                          Tu veux que je te dise : je suis un plus gros boulet que toi ! :p
                                          ça fait trois plombes qu'on m'aide et j'y arrive toujours pas ! :euh:
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            17 mai 2007 à 18:01:39

                                            Si tu corriges par ce que j'ai édité plus haut ça marche normalement !

                                                   printf("Lequel supprimer ? :\t");
                                                   scanf("%s", fichierOuvrir);
                                                   purger(); // on utilise notre fonction TOUJOURS et juste après un scanf
                                                   fichier = fopen(fichierOuvrir, "r");

                                                   if(fichier==NULL)
                                                   {printf("Le fichier n'existe pas !\n");}
                                                  /* A PARITR DE LA, TOUT VA BIEN ;p....    */
                                                   else
                                                   {
                                                       fclose(fichier);
                                                       printf("fichier supprime");
                                                       remove(fichierOuvrir); // On supprime ! ;D
                                                   }

                                            ça :)


                                            Ce qui donne au total:
                                            #include <stdio.h>
                                            #include <stdlib.h>
                                            #include <windows.h>
                                            #include <string.h>

                                            static void purger(void)
                                            {
                                                int c;

                                                while ((c = getchar()) != '\n' && c != EOF);
                                            } // MET CETTE FONCTION TOUT EN HAUT DE TON FICHIER (on l'utilise pour question de sécurité)

                                            void Color(int couleurDuTexte,int couleurDeFond);



                                            int main(int argc, char *argv[])
                                            {
                                                UINT default_codepage = GetConsoleOutputCP();
                                                SetConsoleOutputCP(1252);                         //gere les accents (voir FAQ)

                                                system("COLOR FC");                  //couleur de fond
                                                system("TITLE Blue-Note")//titre de la fenetre console
                                                char fichierTexte [25000];
                                                char nomFichier [25], fichierOuvrir [25];
                                                int continuer=1, choixUtilisateur;

                                                int caractereActuel ;
                                                FILE *fichier = NULL, *sauvegarde = NULL;
                                                char ext[5] = ".txt";

                                            Color(9,15);

                                              printf("                    |------------------------------------|\n");
                                              printf("                    |  Bienvenue dans Blue-Note v.1.0 !  |        \n");
                                              printf("                      -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-          \n");
                                              printf("                          -_-_-_-_-_-_-_-_-_-_-_-_-              \n\n");
                                              Color(0,15);
                                              printf("Voulez vous : \n");
                                              printf("1. Cr%cer un nouveau Document Texte\n2. Ouvir un Document Texte Existant\n3. Supprimer un Document Texte Existant\n", 130);
                                              scanf("%ld",&choixUtilisateur);
                                              if (choixUtilisateur==1)
                                              {
                                              printf("\n\n-*- Tapez le Nom de votre Fichier (sans espace) :\t");Color(12,15);
                                              scanf("%s",nomFichier);
                                              strcat(nomFichier, ext);

                                              sauvegarde = fopen("mesNotes.txt", "a+");
                                              fprintf(sauvegarde,"%s \n",nomFichier);
                                              fclose(sauvegarde);

                                              Color(0,15); printf("-*- Tapez votre Texte : \n   (terminer par ENTRER avant de Fermer)\n\n-*-"); Color(9,15);

                                              fichier = fopen(nomFichier, "a+");

                                              while (continuer)
                                                {

                                              scanf("%s",fichierTexte);

                                              fprintf(fichier,"%s ",fichierTexte);

                                                }
                                              fclose(nomFichier);

                                              Color(0,15);



                                              } // fin du IF

                                            else if (choixUtilisateur==2)
                                              {
                                                   printf("Voici la liste des fichiers crées avec Blue-Note :\n\n");Color(12,15);
                                                   sauvegarde = fopen("mesNotes.txt", "a+");
                                                  do
                                                    {
                                                        caractereActuel = fgetc(sauvegarde); // On lit le caractère
                                                        printf("%c", caractereActuel); // On l'affiche
                                                    } while (caractereActuel != EOF); // On continue tant que fgetc n'a pas retourné EOF (fin de fichier)

                                                   fclose(sauvegarde);

                                                   Color(9,15);
                                                   printf("\n\nLequel ouvrir ? :\t");
                                                   scanf("%s",fichierOuvrir);

                                                   fichier = fopen(fichierOuvrir, "r+");

                                                   if (fichier == NULL)
                                                   { printf("le fichier n'existe pas !\n"); }

                                                   else
                                                   {       Color(0,15);
                                                           printf("\n");
                                                           do
                                                           {
                                                           caractereActuel = fgetc(sauvegarde); // On lit le caractère

                                                           printf("%c", caractereActuel);// On l'affiche

                                                           } while (caractereActuel != EOF); // On continue tant que fgetc n'a pas retourné EOF (fin de fichier)


                                                    Color(9,15);printf("\n\n-*- FIN -*-\n\n");Color(0,15);
                                                    printf("\nVous pouvez completer votre Document :\n\n-*-");Color(9,15);


                                                                   fichier = fopen(fichierOuvrir, "a+");

                                                                   while (continuer)
                                                                   {

                                                    scanf("%s",fichierTexte);

                                                    fprintf(fichier,"%s ",fichierTexte);

                                                                        }

                                                    Color(0,15);
                                                   }

                                               fclose(fichier);





                                              }//fin du else if

                                            else if (choixUtilisateur == 3)
                                              {
                                                   printf("Voici la liste des fichiers crées avec Blue-Note :\n\n");
                                                   sauvegarde = fopen("mesNotes.txt", "r");
                                                  do
                                                    {
                                                        caractereActuel = fgetc(sauvegarde);
                                                        printf("%c", caractereActuel);        // On affiche la liste des fichiers crées
                                                    } while (caractereActuel != EOF);

                                                   fclose(sauvegarde);

                                                   printf("Lequel supprimer ? :\t");
                                                   scanf("%s", fichierOuvrir);
                                                   purger(); // on utilise notre fonction TOUJOURS et juste après un scanf
                                                   fichier = fopen(fichierOuvrir, "r");

                                                   if(fichier==NULL)
                                                   {printf("Le fichier n'existe pas !\n");}
                                                  /* A PARITR DE LA, TOUT VA BIEN ;p....    */
                                                   else
                                                   {
                                                       fclose(fichier);
                                                       printf("fichier supprime");
                                                       remove(fichierOuvrir); // On supprime ! ;D
                                                   }


                                               } // fin du else if




                                              else
                                              {printf("\n ENTRER INCORRECT ! ! !\n");}

                                              SetConsoleOutputCP(default_codepage);

                                              system("PAUSE");
                                              return 0;
                                            }




                                            void Color(int couleurDuTexte,int couleurDeFond) // fonction d'affichage de couleurs
                                            {
                                                    HANDLE H=GetStdHandle(STD_OUTPUT_HANDLE);
                                                    SetConsoleTextAttribute(H,couleurDeFond*16+couleurDuTexte);
                                            }



                                            ET CA MARCHE :D

                                            Au fait:
                                              printf("1. Cr%cer un nouveau Document Texte\n2. Ouvir un Document Texte Existant\n3. Supprimer un Document Texte Existant\n", 130);
                                            Pour avoir le "é" :)
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              17 mai 2007 à 19:10:16

                                              Chez moi, toujours le même probleme !

                                              Je sais pas si tu as bien compris ; ex (regarde bien les couleurs !) :

                                              - je crée un fichier que j'appelle dark
                                              -je tape dedans "salut dark"
                                              -automatiquement, le programme crée un fichier texte nommé mesNotes.txt, il ecrit dedans dark.txt
                                              -je veux supprimer dark : je vais dans supprimer, le programme supprime alors dark.txt : oui mais la chaine dark.txt est toujours ecrite dans le fichier mesNotes.txt, ce qui fait que si je relance, le programme me dit qu'il existe un fichier nommé dark.txt... je clic dessus et hop : fichier n'existe pas.

                                              En faite, je veux qu'une fois le fichier dark.txt est supprimé, la chaine de caractere dark.txt s'efface aussi du fichier mesNotes.txt .

                                              Il faut donc a un moment aller enlever du texte de mesNotes.txt :o
                                              Oui, mais enlevé que le mot dark.txt

                                              Eh ben ça chez moi, ça le fait pas... Une fois le fichier supprimer, le programme me dit qu'il est encore (le fichier mesNotes.txt n'a pas été modifier...) et pourtant, j'ai copié-coller ta correction !

                                              voila, en bref, ça n'a pas changer... :'(

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                17 mai 2007 à 19:13:27

                                                Bah oui je sais, c'est bien ce que je t'ai dis de faire quand jtai donné la correction. Ce que tu dois faire:
                                                * Recherche dans le fichier mesNotes le nom que l'on veut supprimer
                                                * On le supprime

                                                Bonne chance :)
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  18 mai 2007 à 10:50:19

                                                  Citation : Gambit2099

                                                  * Recherche dans le fichier mesNotes le nom que l'on veut supprimer
                                                  * On le supprime



                                                  :o C'est justement ça que je n'arrive pas à faire : modifier seulement une partie d'un fichier.txt ...
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    18 mai 2007 à 11:10:32

                                                    Citation : Dark Dav

                                                    Comment suprimmer SEULEMENT le bon mot dans le fichier mesNotes.txt ?
                                                    (afin que le fichier supprimé ne soit plus dans la liste des fichiers "à charger")



                                                    A toi de définir le critère qui va bien (identificateur, comptage) et de ne recopier dans un autre fichier que ce qui est nécessaire. Ensuite, tu fais le ménage à coup de rename() / remove().
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                    Music only !
                                                      18 mai 2007 à 11:42:12

                                                      J'ai déjà essayer plusieurs trucs mais ça foire à la compil...

                                                      Néammois, je vais continuer d'essayer... ;)
                                                      (si j'y arrive vraiment pas, j'ouvrirais un autre topic :p )

                                                      Merci de votre aide à tous (particulierement à Gambit2099 pour la corrction de mon code... :) )

                                                      Maintenant, j'essaye (en eperant avoir plus de succès que la fois d'avant) !
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter

                                                      Effacer seulement un peu !

                                                      × 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