Your Browser is not longer supported
Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...
{{viewport.spaceProperty.prod}}
mbrtoc32 - Multibyte-Zeichen vervollständigen und in UTF-32-Zeichen umwandeln
&pagelevel(4)&pagelevel
Definition | C11 #include <uchar.h> size_t mbrtoc32(char32_t *pc32, const char *s, size_t n, mbstate_t *ps); (Ende) |
Beschreibung | Falls s kein Nullzeiger ist, ermittelt mbrtoc32() , wie viele Bytes ab der Position, auf die *s, zeigt, zur Vervollständigung des nächsten Multibyte-Zeichens benötigt werden. Berücksichtigt werden auch eventuelle Umschalt-Sequenzen (Shift-Sequenzen). Es werden maximal die nächsten n Bytes überprüft. Wenn mbrtoc32() das Multibyte-Zeichen vervollständigen kann, wird das zugehörige UTF-32-Zeichen ermittelt und unter *pc32 gespeichert, sofern pc32 kein Nullzeiger ist. Ist das zugehörige UTF-32-Zeichen das Nullzeichen, entspricht der Ergebniszustand dem „initial conversion“ Zustand. Ist s ein Nullzeiger, entspricht mbrtoc32() dem Aufruf mbrtoc32(NULL, "", 1, ps)
In diesem Fall werden die Werte der Parameter pc32 und n ignoriert. |
Returnwert | Abhängig vom aktuellen Konvertierungs-Zustand gibt mbrtoc32() den Wert der ersten zutreffenden Bedingung zurück: |
| 0 | wenn die nächsten (maximal n) Bytes ein gültiges Multibyte-Zeichen ergeben, das dem UTF-32-Zeichen Null entspricht. |
| Anzahl der zur Vervollständigung des Multibyte-Zeichens benötigten Bytes |
|
| falls die nächsten (maximal n) Bytes ein gültiges Multibyte-Zeichen ergeben. Gespeichert wird das diesem Multibyte-Zeichen entsprechende UTF-32-Zeichen. |
| (size_t)-2
| wenn die nächsten n Bytes ein unvollständiges, aber potenziell gültiges Multibyte-Zeichen ergeben. Es wird kein Wert gespeichert. |
| (size_t)-1
| wenn ein Kodierfehler auftritt, das heißt die nächsten (maximal n) Bytes ergeben kein vollständiges und gültiges Multibyte-Zeichen. Es wird kein Wert gespeichert und in errno wird der Wert des Makros EILSEQ geschrieben. Der Konversions-Zustand ist undefiniert. |
Hinweis | Einschränkung In dieser Version des C-Laufzeitsystems werden nur 1-Byte-Zeichen als Multibyte-Zeichen unterstützt. (Ende) |
Siehe auch | c16rtomb() , c32rtomb() , mbrtoc16() .
|