Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2893 connectés 

 


Dernière réponse
Sujet : [VC++ 7.0] Conversion de chaine UNICODE en ANSI
Harkonnen 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+


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Harkonnen 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+


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)