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 :

Récupérer une ligne sur 5


Sujet :

C

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 2
    Par défaut Récupérer une ligne sur 5
    Bonjour,

    Voila le problème :
    Dans une fonction je crée un fichier de caracteres dans lequel j'écris, à chaque ligne, 19 caractères. Dans une autre fonction, j'essaie de récupérer une ligne sur 5 pour l'écrire dans un autre fichier. Seulement, ce que j'arrive au mieux à faire c'est, par exemple pour un fichier de 50 lignes, récupérer les 10 premières lignes.

    Merci d'avance si vous avez des conseils à me proposer !

    PS: j'utilise essentiellement des pointeurs

  2. #2
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Ben tu recuperes les lignes via fgets et tu ne t'occupes que de celles qui t'interesse.

  3. #3
    Membre Expert
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Par défaut
    Ca m'a l'air bien flou, tout cela. Il suffit de parcourir le fichier a lire a coup de fgets() avec un petit compteur de lignes qui s'incremente a chaque ligne lue. Toutes les 5 lignes, on fait un fprintf() sur le fichier de sortie.

  4. #4
    Candidat au Club
    Inscrit en
    Mai 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 2
    Par défaut
    Je ne connaissais pas fgets, j'utilisais fread, mais ça m'a l'air d'etre pas mal !

    Merci !

  5. #5
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    On utilise fread avec un fichier ouvert en binaire pas en mode texte.
    fgets lui c'est pour les fichiers ouverts en mode texte.

  6. #6
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par migol
    Merci d'avance si vous avez des conseils à me proposer !
    de poster le code avec lequel tu as un problème, par exemple, ainsi qu'un exemple de fichier à traiter...

  7. #7
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Skyrunner
    On utilise fread avec un fichier ouvert en binaire pas en mode texte.
    Legende urbaine...

  8. #8
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    Legende urbaine...
    Ah?

    J'ai vu dans le man
    fread, fwrite - Entrées/sorties binaires sur un flux.

    Donc j'en ai supposé que le fichier devait être ouvert en mode binaire.

  9. #9
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Skyrunner
    Ah?

    J'ai vu dans le man
    fread, fwrite - Entrées/sorties binaires sur un flux.

    Donc j'en ai supposé que le fichier devait être ouvert en mode binaire.
    Le mode d'ouverture influence l'interprétation des caractères de fin de ligne (voire la detection ou non du 'caractère de fin de fichier'), mais ne détermine pas le choix de la fonction de lecture.

    Ceci-dit, il est vrai que
    • fread(), fwrite() sont adaptées aux fichiers binaires, et que
    • fgets(), fscanf() , fprintf() et fputs() sont adaptéesaux fichiers textes.
    Mais l'usage croisé n'est pas interdit.

    Par contre, l'usage des fonctions unitaires fgetc(), fputc() est indifférent...

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

Discussions similaires

  1. [Débutant] Récupérer une ligne sur une TListBox
    Par Irisael dans le forum C++Builder
    Réponses: 2
    Dernier message: 12/12/2014, 13h40
  2. récupérer une ligne de tableau en cliquant sur icon
    Par dimateo_2012 dans le forum Langage
    Réponses: 4
    Dernier message: 02/04/2013, 06h25
  3. [Rave 5.0-Delphi 7] Griser une ligne sur deux
    Par Frank dans le forum Rave
    Réponses: 5
    Dernier message: 09/08/2006, 09h03
  4. [Formulaire continu] une ligne sur deux en gris
    Par genius99 dans le forum IHM
    Réponses: 7
    Dernier message: 30/10/2005, 18h52
  5. coloriser une ligne sur deux
    Par the0livier dans le forum Langage
    Réponses: 3
    Dernier message: 12/09/2005, 10h54

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