TCHAR-Array in char-Array konvertieren

8

Wie konvertiert man in TCHAR[] in char[] ?

    
maxy 24.11.2009, 10:40
quelle

4 Antworten

8

Ehrlich gesagt, ich weiß nicht, wie man es mit Arrays macht, aber mit Pointern stellt uns Microsoft einige APIs zur Verfügung, wie zB wctomb und wcstombs . Der erste ist weniger sicher als der zweite. Also ich denke, dass Sie tun können, was Sie mit einem Array-to-Pointer und einem Pointer-zu-Array-Casting wie erreichen möchten;

%Vor%

PS: Könnte nicht die beste Lösung sein, aber zumindest funktioniert und funktioniert es.

    
ozanmuyes 19.12.2012 01:56
quelle
2

TCHAR ist ein Microsoft-typedef für char oder wchar_t (ein breites Zeichen).

Die Umwandlung in ein Zeichen hängt davon ab, welche davon tatsächlich vorhanden ist. Wenn TCHAR tatsächlich ein Zeichen ist, können Sie eine einfache Umwandlung durchführen, aber wenn es wirklich ein wchar_t ist, benötigen Sie eine Routine, um zwischen Zeichensätzen zu konvertieren. Siehe die Funktion MultiByteToWideChar ()

    
Nadir SOUALEM 24.11.2009 10:48
quelle
1

es hängt vom Zeichensatz ab (Unicode oder ANSI) (wchar_t oder char), also wenn du ANSI verwendest, wird TCHAR char ohne Casting sein, aber für Unicode musst du von wchar_t in char umwandeln, das du verwenden kannst WideCharToMultiByte

    
Ahmed Said 24.11.2009 10:49
quelle
0

Warum nicht einfach wcstombs_s verwenden?

Hier ist der Code um zu zeigen, wie einfach es ist.

%Vor%     
123iamking 03.06.2017 04:04
quelle