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

MFC Discussion :

CFile : comment lire des données


Sujet :

MFC

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 114
    Points : 56
    Points
    56
    Par défaut CFile : comment lire des données
    J'ai un fichier texte ou chaque ligne contient un numero du style :
    3b6f0000805a0a01032003112480095e829000
    4c6f0000805a0a01032003112480095e829000

    J'aimerais parcourir ce fichier et recuperer chaque donnée pour les mettre dans un tableau.

    Un truc du style

    CFile File;
    char array[19];
    File.Open(....)
    et ensuite je bloque quelles sont les fonctions a appelées ?
    je dois remplir mon array avec les valeurs .
    ex pour la premiere ligne :
    array[0] = 0x3b;...

    please help

  2. #2
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour
    Alors pour lire un CFile, il y a deux-trois méthodes à connaitre :
    -Open()
    -Seek(int longueur, int pointDeDepart)
    -Read((void*) pBuffer, int tailleALire)
    -Close()

    Pour lire du texte, j'utiliserai un truc qui ressemble à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    char * pBuffer;
    pBuffer = new char[19];
    CFile Fichier;
    CString Chemin = "c:\\...";
    Fichier.Open(Chemin, CFile::modeRead);
    //Fichier.Seek(19, CFile::begin); //ca, ca serait pour lire la second ligne
    Fichier.Read(pBuffer, 19);
    Fichier.Close();
    delete pBuffer;
    pour lire autre chose que du texte, on change le type de pBuffer , mais c'est una autre histoire

    PS : on pouvait passer par un tableau de taille fixe, mais je met le code new / delete par habitude

  3. #3
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    attention, etre bien sur de ce qu'on fait avec un new char[19] et un Read(...,19). Ici pBuffer ne pourra pas etre considéré comme une chaine de caractère car il n'y a pas la place pour le caractère de fin de chaine '\0', au mieux comme un tableau de byte. Je n'ai pas regardé si la fonction Read ajoutait automatiquement le caractère de fin de chaine (si elle utilise l'API, alors normalement non), mais bon, au cas où, ca ne coute rien de faire une allocation un peu plus grande.

  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    Citation Envoyé par nico-pyright(c)
    attention, etre bien sur de ce qu'on fait avec un new char[19] et un Read(...,19). Ici pBuffer ne pourra pas etre considéré comme une chaine de caractère car il n'y a pas la place pour le caractère de fin de chaine '\0', au mieux comme un tableau de byte. Je n'ai pas regardé si la fonction Read ajoutait automatiquement le caractère de fin de chaine (si elle utilise l'API, alors normalement non), mais bon, au cas où, ca ne coute rien de faire une allocation un peu plus grande.
    non Read ne rajoute rien a la fin.

Discussions similaires

  1. [Google Visualisation]: comment lire des données
    Par abel.ludba dans le forum APIs Google
    Réponses: 0
    Dernier message: 12/05/2011, 16h28
  2. Réponses: 5
    Dernier message: 07/06/2010, 11h49
  3. Réponses: 2
    Dernier message: 09/01/2009, 17h33
  4. Comment lire des données d'un fichier XML à partir de java
    Par kamaldev dans le forum Format d'échange (XML, JSON...)
    Réponses: 11
    Dernier message: 25/08/2006, 19h29
  5. Comment récuperer des données entrées au clavier?
    Par Elisée A. dans le forum MFC
    Réponses: 2
    Dernier message: 13/02/2004, 07h22

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