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![]()
Si, c'est faux: LPSTR est TOUJOURS un char *.
c'est LPTSTR qui change...
Quant aux CString, cela d�pend de la version de Visual studio : Sous Visual 6, elles sont toujours en TCHAR.
Sous les versions sup�rieures, on a le template CStringT et les constructeurs font la conversion: quel que soit le type de la cha�ne en entr�e, la CString en sortie sera en TCHAR...
PS: Windows utilise la macro UNICODE, MFC et le C standard utilisent _UNICODE.
Un conseil: Toujours commencer par s'assurer que les deux ou aucun sont d�finis.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
pour le moment j'ai definis mon projet pour qu'il ne soit pas en Unicode mais il faudrat que je trouve une solution
Partager