Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

c16rtomb - UTF-16-Zeichen in Multibyte-Zeichen umwandeln

&pagelevel(4)&pagelevel

Definition

C11
#include <uchar.h>

size_t c16rtomb(char *s, char16_t c16, mbstate_t *ps); (Ende)

Beschreibung

Wenn s ein Nullzeiger ist, entspricht c16rtomb() dem Aufruf

c16rtomb(buf, u'\0', ps)

wobei buf einen internen Puffer bezeichnet.

Wenn s kein Nullzeiger ist, bestimmt c16rtomb() die Anzahl der Bytes, die unter Berücksichtigung eventueller Umschalt-Sequenzen zur Darstellung des dem UTF-16-Zeichen c16 entsprechenden Multibyte-Zeichens benötigt werden. Die Ergebnisbytes werden in das Feld geschrieben, auf dessen erstes Element s zeigt. Ist c16 ein Nullzeichen, wird ein Nullbyte geschrieben, dem eine Umschalt-Sequenz vorausgehen kann, die den „initial shift“-Zustand wiederherstellt.

Der Ergebniszustand entspricht dem „initial conversion“ Zustand.

Returnwert

(size_t)-1

wenn c16 keinem gültigen Multibyte-Zeichen entspricht, d.h., wenn gilt: c16 > 255.
In errno wird der Wert des Makros EILSEQ geschrieben. Der Konversions-Zustand ist undefiniert.

 

Anzahl der in das Feld *s geschriebenen Bytes

 


sonst

Hinweis

Einschränkung
In dieser Version des C-Laufzeitsystems werden nur 1-Byte-Zeichen als Multibyte-Zeichen unterstützt. (Ende)

Siehe auch

c32rtomb(), mbrtoc16(), mbrtoc32().