Convertir HEXA vers ASCII par ptrs

Résolu
cs_Urgo Messages postés 780 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 16 avril 2009 - 22 mars 2005 à 21:47
cs_Urgo Messages postés 780 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 16 avril 2009 - 23 mars 2005 à 20:54
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

2 réponses

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
23 mars 2005 à 08:58
A première vu me semble bon (coté code et perf).
3
cs_Urgo Messages postés 780 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 16 avril 2009 1
23 mars 2005 à 20:54
Oui, j'ai re-vérifié et ça m'a l'air bon aussi :)



Merci à toi.



Bye
Urgo
0
Rejoignez-nous