Probleme mit CString
-
Hallo,
es ist doch schon ein Weilchen her, dass ich mit Visual Studio und MFC zu tun gehabt habe. Deshalb habe ich eine Frage im Bezug auf CStrings.CString inputString = _T("abc"); string temp = (char *)(LPCTSTR)inputString;
dann steht in temp nur "a";
String inputString = _T("abc"); string temp = (LPCTSTR)inputString;
Fehler
Die Umwandlung von CString zu String funktioniert am einfachsten mit c_str(), oder?
Bei mir steht gerade einer auf dem Schlauch... mein Dank gilt dem jenigen der ihn runterschubs
Danke
-
Hallo DonDom,
Du kompilierst mit Unicode, dann ist:
- Cstring ein Unicode string.
- std::string ein MCBS string.am einfachsten machst Du ein typedef:
typedef std::basic_string<TCHAR> Tstring;
und benutzt dann nur noch Tstring anstelle von std::string.
Herzliche Grüsse
Walter
-
Ok Danke soweit mal.
typedef std::basic_string<TCHAR> Tstring; CString inputString = _T("abc"); Tstring temp = (LPCTSTR)inputString;
funktioniert.
doch leider habe ich scheinbar mein zweites problem noch nicht ganz verstanden.
std::string str = "Hello world"; std::tr1::regex rx("ello"); regex_match(str.begin(), str.end(), rx)
Wobei ich mit den Datentypen nicht zurecht komme.
Alle Attributwerte sind in CStrings gespeicher.Danke für die Hilfe. Meine Funktionen funktionieren, allerdings nicht mi den CStrings.
-
regex rx("a[a-z]c"); string temp = "abc"; bool a = false; a = regex_match(temp.begin(), temp.end(), rx);
das funktioniert. Wie in dem Bsp. das ich ausm Netz habe, aber leider bekomme ich es nicht hin das die Werte aus CStrings kommen.
-
Weicher hat Dir doch schon die Antowrt gegeben. Du hast vermutlich ein Unicode Projekt, damit ist CSring eben Unicode...
-
manchmal reicht auch nochmal ein deutlicher Hinweis darauf
Danke