4 Stimmen

Wie konvertiert man std::wstring in ein TCHAR*?

Wie konvertiert man eine std::wstring zu einer TCHAR* ? std::wstring.c_str() funktioniert nicht, da es eine wchar_t* .

Wie komme ich von wchar_t* a TCHAR* oder von std::wstring a TCHAR* ?

0 Stimmen

Bitte beachten Sie, dass dies nur möglich ist, wenn wstring nur ANSI-Zeichen enthält. Erwarten Sie nicht, dass das Ergebnis der vorgeschlagenen Lösung immer eine korrekte Zeichenkette ist. Wenn Sie das tun müssen, bedeutet das wahrscheinlich, dass etwas falsch ist. Siehe meine Antwort hier: stackoverflow.com/questions/1049947/ wie meiner Meinung nach diese Situation gehandhabt werden sollte, indem TCHAR vollständig vermieden wird.

0voto

bmargulies Punkte 94152

Angenommen, Sie arbeiten mit Windows.

Wenn Sie sich in der Unicode-Erstellungskonfiguration befinden, dann TCHAR y wchar_t sind ein und dasselbe. Möglicherweise benötigen Sie einen Abdruck, je nachdem, ob Sie /Z eingestellt haben für wchar_t ist ein Typ, während wchar_t ein Typedef ist.

Wenn Sie sich in einer Multibyte-Build-Konfiguration befinden, benötigen Sie MultiByteToWideChar (und vice versa).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X