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

Langage C++ Discussion :

sauvegarde binaire de bool


Sujet :

Langage C++

  1. #1
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut sauvegarde binaire de bool
    Salut.
    Petite question technique.
    Peut on faire une lecture écriture en binaire de bool ?

    c'est à dire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    out.write(reinterpret_cast<char*>(monTableau),sizeof(bool)*size);
    ...
     
    in.read(reinterpret_cast<char*>(monTableau),sizeof(bool)*size);
    C'est pour un code temporaire. Je ne cherche pas à le faire proprement (sauf s'il n'y as pas le choix bien sur). Juste a ce que cela marche sur ma machine


  2. #2
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Salut,

    Je ne vois pas pourquoi tu ne pourrais pas, à vrai dire

    La seule chose, c'est que tu n'auras une certitude quant à la valeur effectivement représentée que pour false, "true pouvant être tout ce qui n'est pas false"
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  3. #3
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par koala01 Voir le message
    Salut,

    Je ne vois pas pourquoi tu ne pourrais pas, à vrai dire
    J'avais des problèmes mémoires et je me demandais si cela pouvais venir de la. merci.

    Citation Envoyé par koala01 Voir le message
    La seule chose, c'est que tu n'auras une certitude quant à la valeur effectivement représentée que pour false,"true pouvant être tout ce qui n'est pas false"
    Oui et non car tu peux l'utiliser dans un calcule mathématique et la
    true <==> 1
    false <==> 0

  4. #4
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Citation Envoyé par yan Voir le message
    Oui et non car tu peux l'utiliser dans un calcule mathématique et la
    true <==> 1
    false <==> 0
    Hé non, su moins, rien n'est garanti au niveau de true!!!

    Tu as la garantie que false == 0, mais true vaut... tout ce qui ne vaut pas false (donc, potentiellement toute valeur utile pour n'importe quel type numérique donné )

    Ce qui est surprenant, par exemple, c'est que le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        bool test= false;
        std::cout<<std::boolalpha<<test<<std::endl;
        test++;
        std::cout<<std::boolalpha<<test<<std::endl;
    compile et fonctionne (du moins avec gcc) sans le moindre problème (grâce, sans doute, à la conversion implicite qu'il occasionne ).

    Tu peux d'ailleurs invoquer autant de fois l'opérateur ++ que tu le souhaites .
    Alors que si tu essaye de compiler le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        bool test= false;
        std::cout<<std::boolalpha<<test<<std::endl;
        test--;
        std::cout<<std::boolalpha<<test<<std::endl;
    la compilation échoue avec comme message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    invalid use of Boolean expression as operand to 'operator--'
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  5. #5
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par koala01 Voir le message
    Hé non, su moins, rien n'est garanti au niveau de true!!!
    Es tu sure ?
    http://stackoverflow.com/questions/2...any-c-compiler

  6. #6
    Membre Expert

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 391
    Par défaut
    Conversion bool => int :
    • false => 0
    • true => 1

    Conversion int => bool :
    • 0 => false
    • autre => true

Discussions similaires

  1. Sauvegarde binaire Labview et lecture C
    Par gofio79 dans le forum LabVIEW
    Réponses: 2
    Dernier message: 31/03/2009, 10h23
  2. Sauvegarde (binaire) MySQL
    Par cerede2000 dans le forum Administration
    Réponses: 0
    Dernier message: 16/08/2008, 19h35
  3. sauvegarder et charger un arbre binaire
    Par Steff2 dans le forum Delphi
    Réponses: 4
    Dernier message: 13/07/2007, 19h43
  4. Parcours d'arbre et sauvegarde en binaire
    Par irons dans le forum C
    Réponses: 8
    Dernier message: 20/06/2007, 22h47

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