Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1492 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  affichage de booléen

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

affichage de booléen

n°299279
deltaden
Posté le 02-02-2003 à 02:43:52  profilanswer
 

Salut,  
y a t'il un moyen simple en C++ pour que les booléens soient affichées comme des string "true" et "false" avec l'instruction cout << a avec a un bool.
 
Merci


---------------
"La Terre est le berceau de l'humanité, mais on ne passe pas toute sa vie au berceau." - Konstantine Tsiolkovski
mood
Publicité
Posté le 02-02-2003 à 02:43:52  profilanswer
 

n°299300
Musaran
Cerveaulté
Posté le 02-02-2003 à 06:42:12  profilanswer
 

Code :
  1. const char* textual(bool b){
  2. return b ? "true" : "false" ;
  3. }
  4. cout << textual(true);


 
J'aurais bien fait

Code :
  1. ostream& operator << (ostream& os, bool b){
  2. return os << textual(b);
  3. }
  4. cout << true ;

Mais chez moi cette surcharge est déjà définie pour un bool.
Je me demande pourquoi d'ailleurs.


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
n°299302
Taz
bisounours-codeur
Posté le 02-02-2003 à 07:10:55  profilanswer
 

:non:  

Code :
  1. #include <iostream>
  2. using namespace std;
  3. int main()
  4. {
  5.   cout << "++Taz a raison : " << boolalpha << true << '\n'
  6.        << "Musaran a tort : " << noboolalpha << true << '\n';
  7. }

 :p

n°299373
deltaden
Posté le 02-02-2003 à 13:17:49  profilanswer
 

Taz, quand je fais ca, il me met une erreur à la compilation:
 
booltest.cpp: In function `int main()':
booltest.cpp:10: `boolalpha' undeclared (first use this function)
booltest.cpp:10: (Each undeclared identifier is reported only once
booltest.cpp:10: for each function it appears in.)
 
Ca veut dire quoi ?


---------------
"La Terre est le berceau de l'humanité, mais on ne passe pas toute sa vie au berceau." - Konstantine Tsiolkovski
n°299385
Taz
bisounours-codeur
Posté le 02-02-2003 à 13:36:06  profilanswer
 

quel compilateur?
 
ça dépend de l'implémentation de ta librairie standard, normalement <iostream> devrait suffire, sinon tu peux essayer <iomanip> voir <ios>....
 
 
ou alors c'est à moi que ça apprendra de pas compiler les exemples que je donne  :D


Message édité par Taz le 02-02-2003 à 13:52:14
n°299399
deltaden
Posté le 02-02-2003 à 14:08:59  profilanswer
 

j'utilise gcc 2.95.3
Ca change rien avec iomanip et il ne connait pas ios !


---------------
"La Terre est le berceau de l'humanité, mais on ne passe pas toute sa vie au berceau." - Konstantine Tsiolkovski
n°299402
Taz
bisounours-codeur
Posté le 02-02-2003 à 14:12:18  profilanswer
 

arghhhhhhhh, faut dire que le C++ a un peu bougé depuis. je fais une recherche. fais un "grep -r boolalpha /usr/include/" pour voir
 
 
essaye ios_base::boolalpha?


Message édité par Taz le 02-02-2003 à 14:13:18
n°299406
deltaden
Posté le 02-02-2003 à 14:21:36  profilanswer
 

ca marche pas l'option -r avec grep
et pour ios_base::boolalpha je dois faire quoi exactement ? (je débute en C hein !)


---------------
"La Terre est le berceau de l'humanité, mais on ne passe pas toute sa vie au berceau." - Konstantine Tsiolkovski
n°299410
Taz
bisounours-codeur
Posté le 02-02-2003 à 14:24:16  profilanswer
 

ben tu préfixes les "boolaplha" par "ios_base::" et commende po à mélanger C et C++


Message édité par Taz le 02-02-2003 à 14:24:36
n°299419
deltaden
Posté le 02-02-2003 à 14:36:47  profilanswer
 

bon, ben ca marche pas non plus. Tant pis, je demanderai au prof.
Merci quand même.


---------------
"La Terre est le berceau de l'humanité, mais on ne passe pas toute sa vie au berceau." - Konstantine Tsiolkovski
mood
Publicité
Posté le 02-02-2003 à 14:36:47  profilanswer
 

n°299420
Taz
bisounours-codeur
Posté le 02-02-2003 à 14:41:30  profilanswer
 

c'est bizarre tout ça, je fais des vérification...

n°299421
Taz
bisounours-codeur
Posté le 02-02-2003 à 14:46:32  profilanswer
 

je suis formel, ça doit etre dans iostream, sinon dans iomanip ou dans tout autre fichier incluant <ios>
 
essaye <ios>
 
tu peux tenter <bits/ios_base.h> mais pas standard, depend de l'implémenation

n°299423
gloop
Posté le 02-02-2003 à 14:47:40  profilanswer
 

boolalpha n'existait pas dans la lib c++ de gcc 2.95.3 (faut vérifier mais j'en suis presque sûr)
par contre c'est bon avec gcc 3
 

n°299424
gloop
Posté le 02-02-2003 à 14:48:42  profilanswer
 

++Taz a écrit :

je suis formel, ça doit etre dans iostream, sinon dans iomanip ou dans tout autre fichier incluant <ios>
 
essaye <ios>
 
tu peux tenter <bits/ios_base.h> mais pas standard, depend de l'implémenation  


dans iomanip

n°299426
Taz
bisounours-codeur
Posté le 02-02-2003 à 14:50:03  profilanswer
 

gloop a écrit :


dans iomanip


déjà proposé mais apparemment ça ne passe pas

n°299428
gloop
Posté le 02-02-2003 à 14:50:23  profilanswer
 

++Taz a écrit :

:non:  

Code :
  1. #include <iostream>
  2. using namespace std;
  3. int main()
  4. {
  5.   cout << "++Taz a raison : " << boolalpha << true << '\n'
  6.        << "Musaran a tort : " << noboolalpha << true << '\n';
  7. }

 :p  


 
pour les flags faut utiliser setf (boolalpha) il me semble ?

n°299429
Taz
bisounours-codeur
Posté le 02-02-2003 à 14:56:31  profilanswer
 

spa des flags c'est des modificateurs (iomanip pardi), au meme tire qui endl, flush et ends
 
je viens de tester, le code que j'ai donné compile parfaitment sur mon g++ 3.2

n°299431
deltaden
Posté le 02-02-2003 à 15:02:36  profilanswer
 

bon, ben ca veut dire que boolalpha ne marche pas sous g++2.95 alors.
 
Je l'ai fait avec le code de Musaran. Ca marche mais c'est moins pratique.  
Merci quand même.  :jap:


Message édité par deltaden le 02-02-2003 à 15:03:08

---------------
"La Terre est le berceau de l'humanité, mais on ne passe pas toute sa vie au berceau." - Konstantine Tsiolkovski
n°299433
Taz
bisounours-codeur
Posté le 02-02-2003 à 15:09:15  profilanswer
 

http://minilien.com/?nth48kgKHL
 
arg²........


Message édité par Taz le 02-02-2003 à 15:14:03
n°299441
deltaden
Posté le 02-02-2003 à 15:36:15  profilanswer
 

bon, ben maintenant c'est clair pourquoi ca marche pas ! :(


---------------
"La Terre est le berceau de l'humanité, mais on ne passe pas toute sa vie au berceau." - Konstantine Tsiolkovski
n°299454
HelloWorld
Salut tout le monde!
Posté le 02-02-2003 à 16:30:26  profilanswer
 

Tiens, VC++ 6 etait conforme a la norme lui ...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°299467
gloop
Posté le 02-02-2003 à 16:52:06  profilanswer
 

HelloWorld a écrit :

Tiens, VC++ 6 etait conforme a la norme lui ...
 


pour une fois  :D

n°299813
Musaran
Cerveaulté
Posté le 03-02-2003 à 09:35:14  profilanswer
 

Je connaissais pas, je sais maintenant pourquoi la surcharge bool existe.


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  affichage de booléen

 

Sujets relatifs
[PHP&SQL] Affichage confondu des derniers infos de 2 Tables(VBA et Access) Empecher l'affichage d'une fenetre d'importation
probleme d'affichage d'image png[C] affichage du contenu d'un variable en graphique ...
Par le plus simple des hasards... (affichage presque aleatoire)[ASP] fonction pour diviser l'affichage des enregistrements
[PHP] Problème d'affichage avec xslt_processAffichage d'étiquettes d'images - gagner du temps?
Site internet & Affichage d'imagesAffichage de ma page xhtml en arbre xml sur ie6
Plus de sujets relatifs à : affichage de booléen


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR