Michel Decima <michel.decima@orange-ft.com> writes:
| Jean-Marc Bourguet a écrit :
| > 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,...)
|
| Et en plus, le resultat doit etre indefini, vu que data1 et data2 sont
| utilisés avant leur initialisation. On en a parlé ici il n'y a pas si
| longtemps
sauf si uint8_t est un unsigned char :-)
-- Gaby