Supprimer mot vide d'un fichier texte en C

Fermé
sony007 Messages postés 18 Date d'inscription mercredi 18 juillet 2012 Statut Membre Dernière intervention 30 mai 2013 - 23 nov. 2012 à 22:40
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 10 janv. 2014 à 11:45
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();
}

A voir également:

3 réponses

ngounou25 Messages postés 96 Date d'inscription mercredi 6 août 2008 Statut Membre Dernière intervention 5 juillet 2013 4
23 nov. 2012 à 22:57
Salut,

Tu veux bien expliquer ce que ce code fait selon toi ? Du moins, ce que tu pense que ça fait.
1
sony007 Messages postés 18 Date d'inscription mercredi 18 juillet 2012 Statut Membre Dernière intervention 30 mai 2013
Modifié par sony007 le 24/11/2012 à 22:22
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
sasso.so Messages postés 1 Date d'inscription vendredi 10 janvier 2014 Statut Membre Dernière intervention 10 janvier 2014
10 janv. 2014 à 10:03
#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
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
Modifié par fiddy le 10/01/2014 à 11:45
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