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.
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 ()
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
Warum nicht einfach wcstombs_s verwenden?
Hier ist der Code um zu zeigen, wie einfach es ist.
%Vor%Tags und Links character-encoding visual-c++ tchar