TCHAR nach string
-
Mir geht die ganze casterei langsam auf den Sack...Kann mir jemand helfen?
-
Da musst du genauer sagen, was du machen willst, denn TCHAR ist ja ein Makro, dass abhängig von Unicode-Definitionen char oder wchar_t ist.
D.h. nur in einem Fall ist TCHAR kompatibel zum Datentyp string. Denn string ist ja basic_string<char>.
-
secondsun schrieb:
Mir geht die ganze casterei langsam auf den Sack...Kann mir jemand helfen?
nimm Java
-
ich bin nicht für diese anwendung von c# auf c++ umgestiegen nur um dann wieder mit java anzufangen;-)
-
secondsun schrieb:
Mir geht die ganze casterei langsam auf den Sack...Kann mir jemand helfen?
Benutze Hilfsklassen (z.B. CA2T, CW2T, ...) oder schreibe selbst eine mit Hilfe der Windows API Funktionen MultiByteToWideChar(..) und WideCharToMultiByte(..)
http://msdn.microsoft.com/en-us/library/bb202786.aspx
http://msdn.microsoft.com/en-us/library/aa450989.aspxAuch CString (ATL, WTL oder MFC) bieten kovtertierungsfunktionen an.
Auch den korrekten Datentyp zu verwenden und das Makro _T(..) (aus tchar.h) hilft.
Casten ist meistens ein Fehler wenns um Unicode, Ansi, Multibyte, etc. geht.
Simon
-
Ein kleiner Ansatz:
typedef std::basic_string<TCHAR> tstring; // Verwendung: tstring str = TEXT("Hello World!");
Gruß
Don06
-
secondsun schrieb:
Mir geht die ganze casterei langsam auf den Sack...Kann mir jemand helfen?
Castings kann jeder Sack verkraften, Unicode auch. Freunde Dich damit an oder lasse die Finger von der Programmierung! In Deinem Fall sind Konvertierungen notwendig, da strings nur einen Zeichensatz kennen, Unicode dagegen mehrere.