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 :

Questions sur fwrite


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm� Avatar de Freakazoid
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    116
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 116
    Par d�faut Questions sur fwrite
    J'ai quelques questions sur le fonctionnement de la fonction fwrite et fread. Je les utilises actuellement pour gerer des fichiers de mon projet et j'ai lu sur un post pr�c�dent qu'il existait d'autres librairies qui gere les fichiers (boost je crois). Qu'elle est la difference dans ce cas entre le std et boost pour la gestion de fichier.
    Apres j'ai remarqu� quelques truc �trange avec fwrite. J'ecrit la valeur num�rique 10 sur un octet, et quand je v�rifie avec un editeur hexa je vois deux octect qui sont 0D(13base10) et 0A(10base10). Cela se produit qu'avec le chiffre 10. Ceci etant ce n'est pas tr�s important car quand je lis un octet a cette endroit fread me redonne la valeur 10.
    Un autre truc c la facon dont fwrite �crite une variable. Par exemple pour une variable short int (cod� sur 2 octets) fwrite ecrit en 1er le 2eme octet et apres le 1er. Une varaible contennat FF 00 va devenir 00 FF dans un �diteur hexa. L� aussi fread remet sa dans le bon sens et sa fonctionne mais je trouve tout sa bizard, si quelqu'un connait la cause de ces truc chelou.

  2. #2
    Membre �clair�
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    77
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 77
    Par d�faut
    A vue de nez, tout ca se passe sur Windows/MS-DOS.

    Le frwrite de 0A en 0A-OD correspond sans doute � un fopen en mode texte et non binaire, avec le fread aussi en mode texte.

    Pour l'�criture de FF 00 sous la forme 00 FF, ca c'est parce que intel est 'Little endian', le prog �crit les donn�es comme eles sont stock�es en m�moire.

  3. #3
    Membre confirm� Avatar de Freakazoid
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    116
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 116
    Par d�faut
    Okk.
    Effectivement apres quelques testes je me suis rendu compte fwrite avait l'aire d'ecrire en mode texte. Le caract�re d�chapement '\' correspond � 0D et l'emsemble '\n' (saut de ligne) et represent� par 0D 0A. En plus que j'eeais de lire le caract�re 0D il passe au suivent donc je ne peux pas stock� la valeur 13.
    De toute facon j'ai resolu le probl�me en utilisant read et write et open (sans le f) et sa marche nikel !!

  4. #4
    Expert confirm�

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par d�faut
    open, read et write ne sont pas standard il me semble. fopen, fread et fwrite conviennent tr�s bien pour les fichiers binaires (fopen( "wb" ) ). Mais ce sont des fonctions C. Si tu es en C++, il est pr�f�rable d'utiliser les flux de <fstream> : ifstream, ofstream, ...

  5. #5
    Membre tr�s actif
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    258
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 258
    Par d�faut Re: Questions sur fwrite
    Citation Envoy� par Freakazoid
    J'ai quelques questions sur le fonctionnement de la fonction fwrite et fread. Je les utilises actuellement pour gerer des fichiers de mon projet et j'ai lu sur un post pr�c�dent qu'il existait d'autres librairies qui gere les fichiers (boost je crois). Qu'elle est la difference dans ce cas entre le std et boost pour la gestion de fichier.
    Apres j'ai remarqu� quelques truc �trange avec fwrite. J'ecrit la valeur num�rique 10 sur un octet, et quand je v�rifie avec un editeur hexa je vois deux octect qui sont 0D(13base10) et 0A(10base10). Cela se produit qu'avec le chiffre 10. Ceci etant ce n'est pas tr�s important car quand je lis un octet a cette endroit fread me redonne la valeur 10.
    Un autre truc c la facon dont fwrite �crite une variable. Par exemple pour une variable short int (cod� sur 2 octets) fwrite ecrit en 1er le 2eme octet et apres le 1er. Une varaible contennat FF 00 va devenir 00 FF dans un �diteur hexa. L� aussi fread remet sa dans le bon sens et sa fonctionne mais je trouve tout sa bizard, si quelqu'un connait la cause de ces truc chelou.
    Bon soit tu fais du C et tu utilises la collection de fonction f....() (fread(), fwrite(), fgets(), fputs(), ...), soit tu fais du C++ et tu utilises la biblioth�que standard *fstream (ifstream, ofstream, ...).
    De plus open(), write() et read() ne sont pas standard, donc code non portable, donc pas bien .

  6. #6
    Expert confirm�
    Avatar de Luc Hermitte
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2003
    Messages
    5 296
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 5 296
    Par d�faut
    Quant � boost::filesystem, cela sert � lister et faire divers tests sur les noms de fichiers et r�pertoires d'un endroit. Pas � lire et �crire.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne r�ponds � aucune question technique par le biais de ce m�dia. Et de toutes fa�ons, ma BAL sur dvpz est pleine...

  7. #7
    Membre confirm� Avatar de Freakazoid
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    116
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 116
    Par d�faut
    Okk
    Pour ce qui est de la portabilit� de mon code, je n'y accorde pas beaucoup d'importance etant donn� que j'utilise DirectX.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [debutant] Questions sur 1 futur projet
    Par cyrull22 dans le forum XML/XSL et SOAP
    R�ponses: 3
    Dernier message: 28/04/2003, 21h49
  2. Quelques questions sur le TWebBrowser...
    Par CorO dans le forum Web & r�seau
    R�ponses: 3
    Dernier message: 17/01/2003, 21h23
  3. Question sur les handles et les couleurs...
    Par MrDuChnok dans le forum C++Builder
    R�ponses: 7
    Dernier message: 29/10/2002, 08h45
  4. R�ponses: 2
    Dernier message: 11/08/2002, 21h27
  5. question sur les message box !
    Par krown dans le forum Langage
    R�ponses: 7
    Dernier message: 02/08/2002, 16h11

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