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éplacement dans un fichier texte


Sujet :

C

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 8
    Points : 3
    Points
    3
    Par défaut déplacement dans un fichier texte
    Bonsoir à vous!

    je doit lire ceci sur un fichier texte:

    load ro 12
    load r1 33
    load r2 34
    halt

    et j'ai un problème dans ma boucle, je lit qu'une ligne (je crois) et je vais direct a la fin du programm voici mon code simplifier:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
            do
            {
                carac = fgetc(fichier);     //// j'affiche tout dans un premier temps
                printf("%c",carac);         ///// sur la console
     
            } while (carac != EOF);
     
     
     
            do
            {
                fseek(fichier, 0, SEEK_SET);
                C1 = fgetc(fichier);
     
                    if (C1 == 'l')
                       {
                          ///////// ma fonction //////
     
                        }
                   fseek(fichier, 0, SEEK_SET);    ///// je revois a la ligne
                   fseek(fichier, '\n', SEEK_CUR);  ///// je saute à la ligne
     
         }while (C1 == 'h'); //// et je recommence tant que j'arrive pas a la lettre 'h'
    voila, merci de bien vouloir me dépanner

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 826
    Points : 218 287
    Points
    218 287
    Billets dans le blog
    117
    Par défaut
    Bonjour,

    Pour lire une ligne j'utiliserai fgets, simplement ça évitera de vous amuser avec les fseek.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Merci pour la réponse

    En faite je n'ai pas besoin d'utiliser un fgets car seul la première lettre est importante dans mon programme.

    mais je comprend pas mon erreur! je fait qu'une seul fois ma boucle, alors que la condition de fin s'effectue...

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 826
    Points : 218 287
    Points
    218 287
    Billets dans le blog
    117
    Par défaut
    Ceci n'est pas valide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fseek(fichier, '\n', SEEK_CUR);
    '\n' (10 d'après la table ascii), va être pris comme un nombre et va dire : va à la position 10 de mon fichier.
    Du coup, ce n'est pas ce que vous voulez.
    Il n'y a pas de moyen direct de passer à la ligne suivante, sauf si vous parcourez le fichier, à la recherche du '\n' (vous même). Du coup, fgets est beaucoup plus pratique.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    ah d'ac d'accord! merci

    je pensais que '\n' sautait une ligne aussi dans le fichier .txt :s
    il n'y aurais pas un autre moyen pour sauter ma ligne?

    Sinon le fgets... un petit exemple pour me conseiller ?

  6. #6
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 826
    Points : 218 287
    Points
    218 287
    Billets dans le blog
    117
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/07/2004, 10h30
  2. Réponses: 2
    Dernier message: 02/03/2004, 20h38
  3. Réponses: 3
    Dernier message: 22/02/2004, 21h09
  4. [LG]rechercher dans un fichier texte
    Par BadFox dans le forum Langage
    Réponses: 11
    Dernier message: 01/12/2003, 16h57
  5. recherche de doublons dans un fichier texte
    Par portu dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 07/10/2003, 15h13

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