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 :

fread en c++


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 14
    Par défaut fread en c++
    Bonjour,
    Voila comme le titre l'indique, je voulais savoir quelle fonction en C++ correspond
    au fread en C.

    Merci d'avance

  2. #2
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    la classe "fstream" avec le mode d'ouverture "ios::binary" puis la méthode "read":
    http://www.cppreference.com/cppio/read.html

  3. #3
    mat.M
    Invité(e)
    Par défaut
    Citation Envoyé par glnewb
    Bonjour,
    Voila comme le titre l'indique, je voulais savoir quelle fonction en C++ correspond
    au fread en C.

    Merci d'avance

    On peut parfaitement prendre fread sous C++ mais on ne pourra pas enregistrer/lire des instances de classe.
    Il faut prendre fstream comme seriousme l'indique

  4. #4
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 14
    Par défaut
    Citation Envoyé par mat.M
    On peut parfaitement prendre fread sous C++ mais on ne pourra pas enregistrer/lire des instances de classe.
    Il faut prendre fstream comme seriousme l'indique
    Je sais qu'on peut prendre fread mais bon vu que je fais la lecture avec les fstream et qu'il prend un FILE * en parametres, c'est moyen de l'utiliser :p
    Jvais aller voir du coté du lien de seriousme!
    Merci!

  5. #5
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 14
    Par défaut
    Bon alors voila, j'ai l'impression que mes octets ne sont pas lu.
    En résumé, j'ecris une classe pour lire les images PGM.
    A la fin, il y a donc les octets en niveaux de gris (il y en a width*height de l'image, parametres recupérés précédemment).
    Donc je dois surment mal comprendre le fonctionnement de la fonction read.
    Voila en gros comment je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ifstream ifs;
    ifs.open("test.pgm",ios_base::in | ios_base::trunc & ios_base::binary);
    unsigned char *img=new unsigned char[width*height];
    ifs.read((char *)img,1);
    Si j'ai compris le fonctionnement, read met chaque octet dans le tableau img jusqu'a la fin du fichier.

    Voila, je voulais savoir si c'etait bon ce que jai fait et aussi savoir si le cast du unsigned char en char change qqchose?

  6. #6
    Membre expérimenté
    Avatar de superspag
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    153
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 153
    Par défaut
    On en a déjà parlé il n'y a pas longtemps...

    le post : http://www.developpez.net/forums/sho...d.php?t=190329

    une solution : on peut faire un truc comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    std::ifstream iFile("test.pgm");
    std::istream_iterator<unsigned char> beginFile(iFile);
    std::istream_iterator<unsigned char> endFile;
    std::vector<unsigned char> vTab(beginFile, endFile);

  7. #7
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 14
    Par défaut
    Je pense pas que tu es compris mon probleme.
    Mon probleme n'est pas la taille du tableau mais la facon de lire des octets dans un fichier a la maniere de fread.

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

Discussions similaires

  1. prblme de lecture avec fread ... etrange...
    Par toto4650 dans le forum MFC
    Réponses: 14
    Dernier message: 28/07/2005, 17h58
  2. problème de fread
    Par _ky_ dans le forum C
    Réponses: 6
    Dernier message: 10/09/2004, 14h45
  3. fread et mem
    Par drKzs dans le forum C
    Réponses: 9
    Dernier message: 29/09/2003, 16h17
  4. [fread] Problème de lecture de buffer
    Par karl3i dans le forum C
    Réponses: 2
    Dernier message: 25/09/2003, 09h21
  5. fwrite et fread
    Par bohemianvirtual dans le forum C
    Réponses: 5
    Dernier message: 05/06/2002, 12h24

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