Konvertieren TCHAR array in char-array
Konvertieren TCHAR[]
zu char[]
?
- Duplizieren: stackoverflow.com/questions/159442/...
- Dies wird definitiv helfen Ihnen:codeproject.com/Articles/76252/...
- Ich habe gerade allgemein -> Zeichensatz := "Verwenden Unioncode Character set" und die jetzt arbeiten, (char *) tcharr ;
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ehrlich, ich weiß nicht, wie es mit arrays, sondern mit Zeigern, Microsoft bietet uns mit einigen APIs, wie wctomb und wcstombs. Erste ist weniger sicher als der zweite. Also ich denke, Sie können tun, was Sie wollen, zu erreichen mit einer array-to-pointer und ein pointer-to-array-casting, wie;
PS: Könnte nicht die beste Lösung, aber zumindest es funktioniert, und funktional.
TCHAR ist eine Microsoft-spezifische typedef entweder char oder wchar_t (ein wide character).
Konvertierung nach char hängt davon ab, welche dieser es tatsächlich ist. Wenn TCHAR ist eigentlich ein char, dann können Sie eine einfache Besetzung, aber ob es wirklich ein wchar_t, müssen Sie eine routine, um die Konvertierung zwischen Zeichensätzen. Siehe die Funktion MultiByteToWideChar()
Hängt es vom Zeichensatz (Unicode oder ANSI) (wchar_t oder char), so dass, wenn Sie die Verwendung des ANSI-einfach TCHAR wird sein char ohne jegliches casting, aber für Unicode, müssen Sie konvertieren von wchar_t auf char, die Sie verwenden können, WideCharToMultiByte
Warum nicht einfach wcstombs_s ?
Hier ist der code, um zu zeigen, wie einfach es ist.