Discussion: Output
Afficher un message
Vieux 07/03/2008, 12h24   #2
Jean-Marc Bourguet
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Output

Guillaume GOURDIN <trash@hotmail.com> writes:

> Bonjour à tous,
>
> j'ai un problème, le code suivat :
>
> uint8_t data1, data2;
> cout << "0x" << hex << setw(4) << setfill('0') << data1 << "=";
> cout << "0x" << hex << setw(2) << setfill('0') << data2 << endl;
>
> me sort l'output suivant :
>
> 0x00aa=0x0
>
> alors que je m'attendrais (et que je voudrais) quelque chose du genre:
>
> 0x00aa=0x00
>
> Vous avez des idées?


Ce qui me surprend, c'est la partie aa. uint8_t est vraissemblablement un
typedef sur unsigned char et donc data1 et data2 devraient etre affiche
comme des caracteres, si data2 est \0, c'est pas trop etonnant que tu ne le
voie pas mais tu devrais etre capable de le verifier (piper dans od, sortir
vers un fichier et regarder avec un editeur hexa,...)

Essaie
cout << "0x" << hex << setw(4) << setfill('0') << unsigned(data1) << "=";
cout << "0x" << hex << setw(2) << setfill('0') << unsigned(data2) << endl;

A+

--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/...ite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org
  Réponse avec citation
 
Page generated in 0,06196 seconds with 9 queries