IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Détecter un mot dans la lecture d'un fichier.


Sujet :

C

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 54
    Par défaut Détecter un mot dans la lecture d'un fichier.
    Bonjour.

    J'ai un problème concernant la détection d'un mot clé dans un fichier texte.
    Voici ce que je veux faire:

    - je lis un fichier texte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fgets(temp, 200, file);
    -tant que je ne lis pas la ligne "signal", je continue à lire.
    -> Je n'arrive pas à faire le test.

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        while (!feof(file))
    	{
            fgets(temp, 200, file);
            while(strcmp(temp,"signal")!=0)
            {
                printf("N/A\n");
                fgets(temp, 200, file);
            }
            printf("signal trouvé!\n");
         }
    Mon fichier texte contient:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    signal
    A1
    signal
    B1
    B2
    signal
    C1
    Je n'obtiens que des N/A en boucle infinie.

    Pour rappel, strcmp retourne 0 si les deux char sont égaux, sinon autre chose.

    La valeur strcmp(temp,"signal") ne devient jamais négative, le mot signal n'est jamais lu.

    Merci de votre aide.

  2. #2
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 492
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 492
    Billets dans le blog
    1
    Par défaut
    file est-il bien un descripteur de fichier valide ?

    Pour eof(), voir http://c.developpez.com/faq/index.ph...eneral#ES_feof

    Et enfin, http://c.developpez.com/faq/index.ph...hr_after_fgets

    power......

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Août 2007
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 179
    Par défaut
    Pour commencer je t'encourage à afficher "temp" afin de vérifier que tu lis correctement le fichier

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 54
    Par défaut
    Citation Envoyé par Bktero Voir le message
    file est-il bien un descripteur de fichier valide ?

    Pour eof(), voir http://c.developpez.com/faq/index.ph...eneral#ES_feof
    +1

    J'avais zapé ce détail!
    Du coup j'ai mis des strncmp.

    Merciiiiiiiiiiiiiiiiiiiii

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Détecter le mot "FROM" dans une requête
    Par ldiaz dans le forum Oracle
    Réponses: 3
    Dernier message: 28/10/2014, 17h30
  2. Réponses: 9
    Dernier message: 23/12/2013, 16h40
  3. erreur dans la lecture d'un fichier
    Par membreComplexe12 dans le forum C++
    Réponses: 1
    Dernier message: 19/02/2011, 12h53
  4. Réponses: 4
    Dernier message: 07/04/2009, 15h36
  5. Réponses: 7
    Dernier message: 29/06/2008, 12h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo