CString nach char*
-
Hallo,
ich habe eine Frage zu folgendem funktionierenden Code:
char buffer[16];
char* ppuffer=buffer;
CString str("Alex");
ppuffer=str;Innerhalb von CSimpleStringT oder CStringT ist kein Umwandlungsoperator "CString-> char*" definiert (operator char*()). Wie funktioniert es trotzdem?
Danke für Eure Hilfe
Alex
-
CString hat einen "operator LPTSTR()" (oder so ähnlich) - und das ist ein typedef für char*

-
CStoll schrieb:
CString hat einen "operator LPTSTR()" (oder so ähnlich) - und das ist ein typedef für char*

LPTSTR ist *kein* typedef für char* sondern für TCHAR*
Somit hängt es von den Compiler-Einstellungen für UNICODE ab, ob es char* oder wchar_t* ist.
@OP: Wenn Du schon MFC hast, dann verwende das CT2[C]A makro:
CString s(_T("hello world")); char *pStr = CT2A(s);