wcstombs

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 wcstombs(char *s, const wchar_t *pwcs, size_t n);

Beschreibung

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

wcstombs konvertiert die in pwcs enthaltenen Elemente des Typs wchar_t in den Multibyte-String s. Die Konvertierung wird beendet, wenn entweder ein Nullzeichen oder ein ungültiges Multibyte-Zeichen angetroffen wird.

Es werden maximal n Bytes konvertiert. Wurden n Bytes bearbeitet, ohne dass ein Nullzeichen angetroffen wurde, ist der Multibyte-String s nicht nullterminiert.

Das Verhalten von wcstombs wird von der Einstellung der Kategorie LC_CTYPE des aktuellen Gebietsschemas beeinflusst.

Rückgabewert

Wird ein ungültiges Multibyte-Zeichen angetroffen, gibt wcstombs (size_t) -1 zurück. Andernfalls gibt die Funktion die Anzahl der geänderten Bytes zurück, ohne das eventuell vorhandene terminierende Zeichen.

Beispiel



 #include <stdio.h>
 #include <stdlib.h>
 void main(void)
 {
   int x;
   char *pbuf = (char*)malloc( MB_CUR_MAX);
   wchar_t *pwcsEOL = L'\0';
   char *pwchi= L"Hi there!";
 
   printf (" Convert entire wchar string into a multibyte string:\n");
   x = wcstombs( pbuf, pwchi,MB_CUR_MAX);
   printf ("Character converted: %u\n", x);
   printf ("Multibyte string character: %1s\n\n",pbuf);
   printf (" Convert when target is NULL\n");
   x = wcstombs( pbuf, pwcsEOL, MB_CUR_MAX);
   printf ("Character converted: %u\n",x);
   printf ("Multibyte string: %1s\n\n",pbuf);
 
 }



Portabilität



POSIX Win32 ANSI C ANSI C++

+

+

+

+