Supprimer mot vide d'un fichier texte en C

sony007 Messages postés 24 Statut Membre -  
fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   -
salut a tous
je veux supprimer des mots vides d'un fichier texte en langage c en utilisant "fscanf" et "strcmp"
aider moi SVP et merci d'avance
voici mon code

#include<stdio.h>
#include<conio.h>
#include<string.h>
main()
{
char mot1[10] ;
char mot2[10];

FILE * fichier1;
fichier1=fopen("doc1.txt","r");
while (! feof(fichier1));
{fscanf(fichier1,"%lf",mot1);}
FILE * fichier2;
fichier2=fopen("mot vide.txt","r");
while (! feof(fichier2));
{fscanf(fichier2,"%lf",mot2);
if(strcmp(mot1[10],mot2[10])==0)
fprintf("%s",mot1,"est un mot vide");
}
fclose(fichier2);
fclose(fichier1);
getch();
}

3 réponses

  1. ngounou25 Messages postés 110 Statut Membre 4
     
    Salut,

    Tu veux bien expliquer ce que ce code fait selon toi ? Du moins, ce que tu pense que ça fait.
    1
  2. sony007 Messages postés 24 Statut Membre
     
    salut :)
    ce 1 er code contient plusieurs erreurs , pardon

    c'est un 2 éme code avec des commentaires

    #include<stdio.h>
    #include <string.h>
    #include<conio.h>
    int main()
    {
    //ouvrir fichier texte doc.txt contient une phrase par exemple
    FILE * fichier;
    fichier=fopen("doc.txt","r");
    //ouvrir fichier1 texte motvide.txt contient des mots vides
    FILE * fichier1;
    fichier1=fopen("motvide.txt","r");
    //parcour de fichier doc.txt jusqu'a le fin
    while (! feof(fichier))
    {fscanf("%s",fichier);
    //parcour de fichier motvide.txt jusqu'a le fin
    while (! feof(fichier1));
    {fscanf("%s",fichier1);
    //comparer les deux fichiers en utilisant strcmp si le contenu de motvide.txt existe dans doc.txt ou non
    //supprimer le contenu de fichier motvide.txt de fichier doc.txt
    if(int strcmp (fichier1,fichier))

    }
    fclose(fichier1);
    fclose(fichier);
    getch();
    }
    0
  3. sasso.so Messages postés 1 Statut Membre
     
    #include<stdio.h>
    #include<conio.h>
    main()
    {
    int trouve;
    char mot1[10] ;
    char mot2[10];
    FILE * fichier1;
    FILE * fichier3;
    FILE * fichier2;
    fichier3=fopen("docout.txt","w");
    fichier2=fopen("motvide.txt","r");
    fichier1=fopen("doc.txt","r");
    while (! feof(fichier1))
    {trouve=0;
    fscanf(fichier1,"%s",mot1);

    while(!feof(fichier2))
    {fscanf(fichier2,"%s",mot2);
    if(strcmp(mot1,mot2)==0)

    trouve=1;
    }
    if(trouve==0)
    {
    fprintf(fichier3,"%s",mot1);
    printf("%s ",mot1);}

    rewind(fichier2);
    }

    fclose(fichier2);
    fclose(fichier1);
    getch();
    }
    0
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      Merci de regarder la date avant de déterrer un post.
      Sinon niveau remarque sur ton code :
      main() => int main(void)
      ! feof(fichier1) => attention, cela ne sert pas à détecter la fin du fichier...

      getch();
      Non standard.

      Et il manque return 0; en fin de fonction.

      Pour les prochaines fois, utilise la balise "code" (à droite du bouton "souligné") et sélectionne "C". Ca sera plus lisible.

      Cdlt,
      0