bonjour,

lors du portage d'un programme ecrit en C++, j'ai fait face à un bug etonnant : les sorties de flottants étaient faites en hexadecimal sous forme "1.65fa1p+00a" par ex. Après calcul, cela correspondait bien au nombre mais je ne me suis pas expliqué cette sortie (d'autant que "<< dec <<" précédait le flux.

Je ne savais pas qu'on pouvait sortir un flottant en hexa : ayant essayé de le faire je n'y suis pas arrivé (avec VC) : pourriez vous me dire comment le faire ?

Je me suis posé la question sur l'instruction (manipulateur) setbase(0) : arrétez moi si je me trompe : sur un flux d'entrée, cette instruction a pour effet de ne pas présuposer la base du nombre qui va suivre et de suivant le debut (chiffre, 0, ou 0x) de prendre la base qui s'impose. qu'en est-il si l'on applique cette instruction sur un flux en sortie ? le standard oblige t'il a un comportement ou est-ce une cause de probleme pour la suite ? (aucun compilateur ne transmet ni même un avertissement)

merci d'avance de me faire partager vos reflexions et expérience sur ce sujet