Partage
  • Partager sur Facebook
  • Partager sur Twitter

Petit probleme de lecture !!

    19 avril 2006 à 11:41:51

    Voila je bosse sur une petite fonction qui me permet de rechercher un mot donnés par l'utilisateur dans la ligne d'un fichier texte, si il y a le mot, il imprime la ligne, si il n'y a pas le mot, il ne fait rien. Ensuite il passe à ligne suivante pour recommencer la recherche. Jusqu'à ce qu'il arrive au bout du fichier.

    Le code:


    do
           {       
              fgets (ligneActuelle, 60, fichier);
              teste = strchr(ligneActuelle, motRechercher);
             
                 if (teste !=NULL)
                 {
                        printf ("%s\n", ligneActuelle);
                 }
                 else
                 {}
             
             
             
             
           }while (fgets(ligneActuelle, 40, fichier) != NULL);


    Voilà, lorsque je lance le programe, il ne m'affiche pas les bonnes lignes (toujours la même qui change seulement si je change le code). J'ai dejà essayer plusieurs methode, si vous aviez des idées, donnés les, car moi je commence à être à sec.
    • Partager sur Facebook
    • Partager sur Twitter
      19 avril 2006 à 12:31:57

      C'est facile : tu as mis 2 fois l'instruction fgets dans ta boucle (une fois après le do et une fois après le while).
      Si tu appelles 2 fois fgets à chaque tour de boucle, il va "analyser" une ligne sur deux seulement.

      Pour régler le problème, supprime le fgets après le while. Utilise une variable pour récupérer la valeur retournée par fgets, et teste cette valeur après le while. Ca t'évitera d'appeler 2 fois la fonction.
      • Partager sur Facebook
      • Partager sur Twitter

      If you'd like to join us, read "How do we work at OpenClassrooms"! :)

        19 avril 2006 à 12:46:35

        Merci, merci, ça me rend bien service, je ramais pas mal sur cette fonction.
        • Partager sur Facebook
        • Partager sur Twitter

        Petit probleme de lecture !!

        × 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