Konvertieren von char* zu wchar* in C

Ich würde gerne konvertieren char* string zu einem wchar* string in C.

Ich fand viele Antworten, aber die meisten von Ihnen sind für C++. Könnten Sie mir helfen?

Dank.

  • Was ist der ursprüngliche Zeichensatz-Kodierung in Ihrem char*? UTF8? ANSI? Was ist die sizeof(wchar) auf Ihrem system und welche Codierung hat es verlassen? UCS-2 (16bit)? UCS-4 (32-bit)?
  • Boah... ich dachte sizeof(wchar) war immer 2, nicht?
  • Es ist nicht unbedingt 2. Es wird durch die Implementierung festgelegt. Wenn die Programmierung auf Windows, es hat eine Größe von zwei bytes und enthält die UTF-16 -, mit Doppel-wchar_t ist für ersatzzeichenpaare.
  • o__O ich wusste nicht, dass es die Umsetzung definiert... interessant, danke für die info.
  • Es ist auf unix-system, so dass ich denke, es spielt keine Rolle, nicht ?
  • Ich habe vergessen welches system (Linux vielleicht?), verwendet ein 4-byte - wchar_t kodiert mit UTF-32.
  • Ja 4 byte printf("Größe von wchar_t : %d",sizeof(wchar_t)); -> "die Größe von wchar_t : 4" So, wie kann ich konvertieren string in unidocde ?

InformationsquelleAutor Crupuk | 2011-01-28
Schreibe einen Kommentar