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 :

lecture fichier texte


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 2
    Par défaut lecture fichier texte
    Bonjour à tous,

    je debute en C et j'aimerai savoir comment on peut faire pour lire un fichier à l'envers. je sais descendre ligne par ligne mais pour remonter quelle est la fonction?

    merci

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2005
    Messages : 147
    Par défaut
    Salut,

    A ma connaissance, toutes les fonctions de lecture directe dans un fichier "avancent" dans le fichier au cours de la lecture, mais :

    - La fonction fseek permet de se déplacer dans un fichier, on peut indiquer l'endroit de départ : début, position courante, fin, et un décalage (positif ou négatif) en nombre de caractère par rapport à cette position. A voir aussi les fonctions associées : fgetpos, fsetpos, ftell, rewind.

    - Si le but est de lire uniquement des caractères à l'envers, et que le fichier est de taille raisonnable, tu peux aussi mettre le fichier entier dans un buffer (de type char *), et le lire à l'envers avec une boucle. Tu peux stocker tout le fichier dans un buffer avec fread par exemple (voir le man pour l'utilisation). Pour connaitre la taille du fichier, il suffit de se positionner à la fin avec fseek, et de lire la position courante avec ftell.

    - Si tu voulais réaliser une autre opération, ou que ton fichier est trop gros, précise et on trouvera autre chose.

    @+

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 487
    Par défaut
    Citation Envoyé par Le Mérovingien Voir le message
    Salut,

    A ma connaissance, toutes les fonctions de lecture directe dans un fichier "avancent" dans le fichier au cours de la lecture, mais :

    - La fonction fseek permet de se déplacer dans un fichier, on peut indiquer l'endroit de départ : début, position courante, fin, et un décalage (positif ou négatif) en nombre de caractère par rapport à cette position. A voir aussi les fonctions associées : fgetpos, fsetpos, ftell, rewind.

    - Si le but est de lire uniquement des caractères à l'envers, et que le fichier est de taille raisonnable, tu peux aussi mettre le fichier entier dans un buffer (de type char *), et le lire à l'envers avec une boucle. Tu peux stocker tout le fichier dans un buffer avec fread par exemple (voir le man pour l'utilisation). Pour connaitre la taille du fichier, il suffit de se positionner à la fin avec fseek, et de lire la position courante avec ftell.

    - Si tu voulais réaliser une autre opération, ou que ton fichier est trop gros, précise et on trouvera autre chose.

    @+
    On ne peut pas se déplacer dans un fichier texte avec la fonction fseek
    Et il y a aucune fonction dans le langage C qui permet de lire un fichier texte a l’envers

  4. #4
    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 la_trof Voir le message
    je debute en C et j'aimerai savoir comment on peut faire pour lire un fichier à l'envers. je sais descendre ligne par ligne mais pour remonter quelle est la fonction?i
    On ne sait pas faire ça. On peut éventuellement indexer le fichier avec ftell() et un tableau, et aller où on veut avec fseek()...

    Les fichiers du C sont très rustiques. Tu cherches à faire quoi exactement ?

Discussions similaires

  1. Lecture fichier texte
    Par vince-60 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 06/04/2006, 14h15
  2. [VB]Probleme lecture fichier text et affichage
    Par clochardevobsy dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 10/03/2006, 08h46
  3. lecture fichier texte et ...
    Par Nils30 dans le forum Langage
    Réponses: 5
    Dernier message: 12/01/2006, 11h55
  4. lecture fichier text et renvoi du contenu en byte *
    Par JulienT dans le forum Réseau
    Réponses: 3
    Dernier message: 02/01/2006, 13h21
  5. Lecture fichier text
    Par krfa1 dans le forum ASP
    Réponses: 13
    Dernier message: 25/11/2005, 08h00

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