mbstowcs

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu stdlib.h - Index


Header-Datei

stdlib.h

Kategorie

Konvertierungsroutinen, Routinen für Speicher- und String-Bearbeitung

Prototyp

size_t mbstowcs(wchar_t *pwcs, const char *s, size_t n);

Beschreibung

Konvertiert einen Multibyte-String in ein Array des Typs wchar_t.

Die Funktion konvertiert den Multibyte-String s in das Array, auf das pwcs zeigt. Im Array werden nicht mehr als n Werte gespeichert. Wird eine ungültige Multibyte-Sequenz angetroffen, gibt mbstowcs (size_t) -1 zurück.

Das Array pwcs wird nicht durch ein Nullzeichen abgeschlossen, wenn mbstowcs n zurückgibt.

Rückgabewert

Wird eine ungültige Multibyte-Sequenz angetroffen, gibt mbstowcs (size_t) -1 zurück. Andernfalls gibt die Funktion die Anzahl der geänderten Array-Elemente zurück, ohne das eventuell vorhandene terminierende Zeichen.

Beispiel



 #include <stdio.h>
 #include <stdlib.h>
 void main(void)
 {
   int x;
   char    *mbst = (char *)malloc(MB_CUR_MAX);
   wchar_t *pwst = L"Hi";
   wchar_t *pwc      = (wchar_t *)malloc(sizeof( wchar_t));
   printf ("Convert to multibyte string:\n");
   x = wcstombs (mbst, pwst, MB_CUR_MAX);
   printf ("\tCharacters converted %u\n",x);
   printf ("\tHEx value of first");
   printf (" multibyte character: %#.4x\n\n", mbst);
   printf ("Convert back to wide character string:\n");
   x = mbstowcs(pwc, mbst, MB_CUR_MAX);
   printf( "\tCharacters converted: %u\n",x);
   printf( "\tHex value of first");
   printf( "wide character: %#.4x\n\n", pwc);
 }



Portabilität



POSIX Win32 ANSI C ANSI C++

+

+

+

+