Bonjour,
Je souhaite simplement afficher la valeur d'un handle. Pour cela je dois convertir un chiffre HEXA en ASCII.
Je ne souhaite pas utitiler wsprintf(chaine, "%8X", Handle), ni atoi(Handle, chaine, 16), pour question de perfs!
J'ai donc vite fait ceci (ça marche), mais j'aimerais qu'on me le valide :
// hWnd = handle quelconque d'une fenêtre
int j;
char szText[16], *q;
q = szText; // szText contiendra resultat
*q++
'0'; *q++ 'x';
for(j = 28; j >= 0; j-=4) {
*q = (BYTE)((int)hWnd >> j) & 0xF;
if(*q > 9) *q += 'A' - 10;
else *q += '0';
q++;
}
*q++ = 0; // terminateur NULL
Y'a-t-il un moyen plus simple et/ou plus rapide?
Bye
Urgo