[VC++ 7.0] Conversion de chaine UNICODE en ANSI

Conversion de chaine UNICODE en ANSI [VC++ 7.0] - Programmation

Marsh Posté le 16-06-2002 à 15:07:13    

Yawp  :hello:  
 
A tous ceux qui galèrent avec les chaines de caractères UNICODE devant être converties en ANSI, voici une solution possible, qui permet d'éviter de se taper la conversion octet par octet.
 
Cet exemple convertit une chaine source UNICODE en chaine dest ANSI. Il utilise les MFC

Code :
  1. void CunicodeDlg::ConvUNICODE()
  2. {
  3.     char src[10] = 'T','\0','E','\0','S','\0','T','\0','\0','\0'}; // "TEST" en unicode
  4.     CString ms(src);
  5.     AfxMessageBox(ms); // affichera uniquement "T" :(
  6.     char dest[256]={0};
  7.     ::WideCharToMultiByte(CP_ACP, 0, (LPCWSTR)src, -1, (LPSTR)dest, lstrlenW((LPCWSTR)src)+2, NULL, NULL);
  8.     CString msg(dest);
  9.     AfxMessageBox(msg); // Magique ! Affiche "TEST" :)
  10. }


 
A+


Message édité par Harkonnen le 16-06-2002 à 15:08:43

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 16-06-2002 à 15:07:13   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed