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

SL & STL C++ Discussion :

Ecrire l'octet 0x00001010 (10) avec la classe ofstream ?


Sujet :

SL & STL C++

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2
    Par défaut Ecrire l'octet 0x00001010 (10) avec la classe ofstream ?
    Bonjour à tous,

    J'essaie d'écrire dans un fichier des entiers sous la forme d'octets
    (pour coder des fichier GRIB). J'utilise pour cela la classe ofstream :
    ofstream sortie( "test.txt", ios::out );
    Pour écrire un entier sur un octet, je le convertis simplement en char.
    sortie << (char) 12;

    Cela fonctionne bien sauf pour l'entier 10 (!) qui représente le caractère '\n' et qui est alors codé sur 2 octets dans mon fichier :
    0x00001101 0x00001010
    qui correspondent à :
    13 10

    J'ai essayé de convertir moi même les entier en binaire mais le type
    bool est lui même convertit en int (32 bits) lors des opérations de sortie <<.

    Merci de votre aide.

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Il ne faut plus utiliser l'opérateur d'injection <<, mais la fonction membre write. De plus il ne faut pas oublier le flag ios_base::binary pour l'ouverture de ton fichier.

    http://c.developpez.com/faq/cpp/?pag...ERS_read_write

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2
    Par défaut
    Je viens de l'essayer.
    Ca marche à merveille.

    Merci beacoup.

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

Discussions similaires

  1. Comment ecrire sur la meme ligne avec la commane ECHO
    Par juflata dans le forum Windows
    Réponses: 3
    Dernier message: 24/11/2015, 09h06
  2. Utilisation iterator avec une classe perso
    Par SteelBox dans le forum C++
    Réponses: 19
    Dernier message: 07/03/2005, 11h30
  3. Réponses: 7
    Dernier message: 05/10/2004, 13h44
  4. [C#][WebServices] Appel methode avec une classe en paramètre
    Par bran_noz dans le forum Windows Forms
    Réponses: 6
    Dernier message: 10/09/2004, 16h41
  5. [Débutant][Conception] Erreur avec une classe interne
    Par Devil Redneck dans le forum Général Java
    Réponses: 5
    Dernier message: 11/06/2004, 15h45

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