Comment convertir Ulong à LPTSTR en C
Question
J'ai une valeur ULONG, comment puis-je convertir en LPTSTR? Je dois obtenir la valeur LPTSTR. (Pas d'printf)
Exemple de code:
ULONG value = 1;
LPTSTR valueString = ???
Merci!
La solution
Utilisation de l'une _itoa()
famille de fonctions ou StringCchPrintf()
. Les liens vont aux versions « sûres » des fonctions, mais le winapi fournit également « dangereux » et des variantes leagacy.
Autres conseils
Vous pouvez utiliser la fonction itoa
, ce qui est beaucoup plus simple que sprintf, mais peut ne pas être disponible dans le noyau.
Si itoa
n'est pas disponible, vous pouvez recoder: itoa en GCC
Vous ne pouvez pas simplement le convertir. C est tout simplement pas si amical.
Vous devez:
1. Obtenir un assez large éventail TCHAR, où » vous mettriez le numéro. Vous pouvez utiliser un simple tableau sur la pile (mais cela dépend de ce que vous voulez faire avec elle).
2. Convertir le nombre à une représentation imprimable dans le tampon. _sntprintf
peut le faire.
3. Utilisez l'adresse de ce tampon.