Benutzer mit den meisten Antworten
Problem mit Unicode und Ansi

Frage
Antworten
-
Prinzipiell muß eine Konvertierung von Unicode zu ANSI nicht grundsätzlich möglich sein, wenn Du z.B. Zeichen einer anderen Sprache benutzt... extrem wäre Arabisch, Japanisch, Chinesisch... dies aber nur als Anmerkung.
Hier eine Möglichkeit der Konvertierung:
CString l_Text_ics=CString("Das ist ein Text"); char l_CharPtr_pc[80]; wcstombs(l_CharPtr_pc , l_Text_ics.GetBuffer(), 80);
- Als Antwort markiert KK Senior Sonntag, 20. November 2011 14:58
-
Ansonsten kann man ganz einfach auch CStringA direkt verwenden oder eben die ATL Makros, die das auch einfach machen.
CString str=CString("Das ist ein Text"); char achar[80]; strcpy(achar,CT2A(str));
Der obige Code funktioniert immer, egal ob das Projekt Unicode oder MBCS ist.
Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de- Als Antwort markiert KK Senior Sonntag, 20. November 2011 14:58
Alle Antworten
-
Prinzipiell muß eine Konvertierung von Unicode zu ANSI nicht grundsätzlich möglich sein, wenn Du z.B. Zeichen einer anderen Sprache benutzt... extrem wäre Arabisch, Japanisch, Chinesisch... dies aber nur als Anmerkung.
Hier eine Möglichkeit der Konvertierung:
CString l_Text_ics=CString("Das ist ein Text"); char l_CharPtr_pc[80]; wcstombs(l_CharPtr_pc , l_Text_ics.GetBuffer(), 80);
- Als Antwort markiert KK Senior Sonntag, 20. November 2011 14:58
-
Ansonsten kann man ganz einfach auch CStringA direkt verwenden oder eben die ATL Makros, die das auch einfach machen.
CString str=CString("Das ist ein Text"); char achar[80]; strcpy(achar,CT2A(str));
Der obige Code funktioniert immer, egal ob das Projekt Unicode oder MBCS ist.
Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de- Als Antwort markiert KK Senior Sonntag, 20. November 2011 14:58