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 :

lire fichier en excluant lignes commencants par #


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 3
    Par défaut lire fichier en excluant lignes commencants par #
    bonjour,

    voici mon fichier texte :

    355
    482
    45 56 67 34
    #commentaire 1
    12 34 65 78
    45 87 65 44
    #commentaire 2
    45 65 66
    77 66 55
    etc...

    j'aimerais lire ce fichier pour recuperer toutes les infos mais en sautant la ou les lignes de commentaires commencant par #
    quelles fonctions utiliser et comment les utiliser ; fgets() fscanf().... ?

    merci

    ps:la partie lecture fichier FILE Pointer et alloc dynamique pour stocker, ça fonctionne correctement.

  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 : 38
    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 korg1
    bonjour,

    voici mon fichier texte :

    355
    482
    45 56 67 34
    #commentaire nuisible
    12 34 65 78
    45 87 65 44
    etc...

    j'aimerais lire ce fichier pour recuperer toutes les infos mais en sautant la ou les lignes de commentaires commencant par #
    quelles fonctions utiliser et comment les utiliser ; fgets() fscanf().... ?

    merci
    Oui avec fgets, et des que tu as lu un ligne, tu regardes le premier caractere
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if(buffer[0] == '#')
    {
        continue;
    }
    Si c'est un # tu passes au coup d'après.

    ps:la partie lecture fichier FILE Pointer et alloc dynamique pour stocker, ça fonctionne correctement.
    Rien compris

  3. #3
    Futur Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 3
    Par défaut
    comment tu fais avec fgets() ? la longueur des lignes n'est pas constante.

  4. #4
    Membre éprouvé Avatar de ccensam
    Inscrit en
    Juillet 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2005
    Messages : 128
    Par défaut combien
    Est ce les lignes qui ne sont pas commentaire ne contiennent que des reéls (entiers)? Est ce le nombre de valeurs sur chaque ligne (qui n'est pas commentaire et connu) est connu?

  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 : 38
    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 korg1
    comment tu fais avec fgets() ? la longueur des lignes n'est pas constante.
    Ben tu fais un buffer de taille fixe (par exemple 256), tu lis une ligne, si le \n est présent dans la ligne tu as tout lu, sinon il t'en manque un bout.

    Lis le man de fgets, ctou.

  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 : 68
    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 korg1
    comment tu fais avec fgets() ? la longueur des lignes n'est pas constante.
    Tu prévois une taille raisonnable et tu purges si besoin est. J'ai publié récemment (hier et avant hier) une fonction fclean().

    http://www.developpez.net/forums/sho...7&postcount=11

  7. #7
    Futur Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 3
    Par défaut
    ok, merci les gars !
    je vais m'inspirer du fclean()
    merci

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

Discussions similaires

  1. lire fichier .txt (NOTEPAD) ligne par ligne
    Par skambram dans le forum VB.NET
    Réponses: 1
    Dernier message: 06/06/2009, 18h41
  2. premiere ligne commencant par ID;
    Par ahmet57 dans le forum Excel
    Réponses: 1
    Dernier message: 08/01/2009, 21h16
  3. recuperation des lignes commencant par -
    Par vince2005 dans le forum Langage
    Réponses: 1
    Dernier message: 24/04/2007, 14h55
  4. Recherche de fichiers dont le nom commence par..
    Par ValyGator dans le forum C++
    Réponses: 4
    Dernier message: 22/05/2006, 00h08
  5. [langage] Trouvé les lignes commencant par [
    Par Nervix dans le forum Langage
    Réponses: 2
    Dernier message: 13/07/2004, 10h04

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