j'ai un petit peu de difficulté avec l'Unicode et l'Ansi depuis que je suis sous Visual Studio 2005
je sais comment passer de CString a LPSTR mais l'enverse je trouve pas![]()
j'ai un petit peu de difficulté avec l'Unicode et l'Ansi depuis que je suis sous Visual Studio 2005
je sais comment passer de CString a LPSTR mais l'enverse je trouve pas![]()
LPSTR est un char*
Ca devrait fonctionner.CString s = ta_chaine;
ca fonctionne mais ca m'affiche pas ce que je veux car je communique avec un peripherique exterieur qui m'envoie via un LPSTR une chaine Ansi et ca m'affiche en Unicode![]()
Tu es en Character Set : "Use Unicode character set" ?
Utilise un CStringA pour ne plus avoir de caractère Unicode et fonctionner en ANSI
Pas toujours...Envoyé par Mayti4
TCHAR c'est un char quand UNICODE n'est pas défini, mais c'est un w_tchar quand UNICODE est défini.
Donc si ton application accepte l'unicode, alors quand UNICODE est défini alors LPSTR n'est pas un char* mais un w_tchar*... Et avec ça tu ne peux pas construire une std::string.
Il faut que tu construise une std::wstring
Je pense que Cidran utilise les string des MFC et pas les std::stringEnvoyé par Rafy
Ben il l'a pas dis, mais ce que j'ai dis n'est pas faux tout de même![]()
Partager