Salut !
Dans une appli ATL sans MFC (donc pas de C-String), j'ai besoin de convertir un char* en LPCTSTR ainsi qu'en LPWSTR.
J'ai enormement de mal à trouver une solution sans passer par des CString. J'ai besoin de vous :)
Merci d'avance
Version imprimable
Salut !
Dans une appli ATL sans MFC (donc pas de C-String), j'ai besoin de convertir un char* en LPCTSTR ainsi qu'en LPWSTR.
J'ai enormement de mal à trouver une solution sans passer par des CString. J'ai besoin de vous :)
Merci d'avance
ATL partage CString avec les MFC, donc tu dois pouvoir l'utiliser.
Sinon pour info, LPCTSTR n'est pas un vrai type. Il signifie const char * par défaut, et const whcar_t * si UNICODE est défini. Donc l'idéal est de travailler avec des TCHAR *, ainsi y'aura pas de conversion à faire.
Pour quelle utilisation tu en as besoin ? (bout de code)
Ça na fonctionne pas en faisant simplement
Chez moi ça compile parfaitement 8OCode:
1
2 char toto[100]; LPCTSTR ptr =toto;
Tu as essayé de caster correctement ta variable :?: :Citation:
Envoyé par Trap D
char toto[100];
LPCTSTR ptr;
ptr=(LPCTSTR)toto;
définit UNICODE et ça ne compilera plus.Citation:
Envoyé par Trap D
Oui effectivement, n'ayant jamais défini UNICODE :oops: :oops:
Mais pour la conversion char * <==> LPWSTR ce n'est pas les fonctions
WideCharToMultiByte et MultiByteToWideChar qu'il faut utiliser ?
oui. Voir aussi wcstomb[s] / mbstowc[s].