Lecture de fichier TXT

cs_beb30 Messages postés 10 Date d'inscription mardi 14 février 2006 Statut Membre Dernière intervention 10 avril 2006 - 28 mars 2006 à 10:21
BunoCS Messages postés 15476 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 mai 2024 - 28 mars 2006 à 10:27
Voila, j'ai un petit problème avec une boucle WHILE.

Avec ce programme, je lis un fichier texte et je verifie que je trouve bien la chaine de caractère saisie, et dans le cas ou il ne trouve pas je souhaite recommencer jusqu'à le trouver.

Avec ce programme, si à la premiere demande j'indique le bon filtre, pas de probleme il trouve.

Si par contre, je lui donne un mauvais filtre en premier, j'ai beau rentré un bon filtre par la suite, il ne le trouve jamais.

Si je ne ss pas clair n'hesitez pas a me le dire!!!!!

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


void TestFiltre ()
{
FILE *TXT = fopen ("fichier.txt","r");


char filtre[50];
int filter;


printf("Quel fltre voulez vous appliquer?\n");
gets(filtre);
printf("\n");
printf("Le filtre souhaite est: %s\n\n", filtre);
printf("Test de validite.........\n\n");





if (TXT ! = NULL) /* Si le fichier est ouvert*/
{
char ligne[50];


while (filter!=1)
{


while (fgets (ligne, sizeof ligne, TXT) != NULL) /* lecture des lignes */
{

if (strstr (ligne , filtre) != 0) /*Condition pour arretter la boucle: retrouver le filtre dans le .txt*/
{
printf ("Ce filtre est valide\n"); /* filtre trouvé*/
fclose (TXT); /* fermeture du fichier texte*/
filter=1;
}
}


if (strstr (ligne , filtre) == 0) /* filtre non trouvé*/
{
printf ("Ce filtre est non valide, Recommencez!! \n\n");
filtre[0]='\0';
filter=0;

}


gets(filtre);
}



}
else
{
printf ("Erreur d'ouverture du fichier\n");
filter=0;
}


// return 0;


}


void main ()


{


TestFiltre();
}

1 réponse

BunoCS Messages postés 15476 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 mai 2024 103
28 mars 2006 à 10:27
Regarde ceci: http://www.cppfrance.com/code.aspx?id=19169
ça pourrait t'aider

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
0
Rejoignez-nous