mbsinit
|
Definiert in Header
<wchar.h>
|
||
|
int
mbsinit
(
const
mbstate_t
*
ps
)
;
|
(seit C95) | |
Wenn
ps
kein Nullzeiger ist, bestimmt die
mbsinit
-Funktion, ob das referenzierte
mbstate_t
-Objekt den anfänglichen Konvertierungszustand beschreibt.
Inhaltsverzeichnis |
Hinweise
Obwohl ein null-initialisierter mbstate_t immer den initialen Konvertierungszustand repräsentiert, kann es andere Werte von mbstate_t geben, die ebenfalls den initialen Konvertierungszustand darstellen.
Parameter
| ps | - | Zeiger auf das zu untersuchende mbstate_t-Objekt |
Rückgabewert
0
wenn
ps
kein Nullzeiger ist und nicht den initialen Konvertierungszustand repräsentiert, andernfalls ein Wert ungleich Null.
Beispiel
#include <locale.h> #include <string.h> #include <stdio.h> #include <wchar.h> int main(void) { // allow mbrlen() to work with UTF-8 multibyte encoding setlocale(LC_ALL, "en_US.utf8"); // UTF-8 narrow multibyte encoding const char* str = u8"水"; // or u8"\u6c34" or "\xe6\xb0\xb4" static mbstate_t mb; // zero-initialize (void)mbrlen(&str[0], 1, &mb); if (!mbsinit(&mb)) { printf("After processing the first 1 byte of %s,\n" "the conversion state is not initial\n\n", str); } (void)mbrlen(&str[1], strlen(str), &mb); if (mbsinit(&mb)) { printf("After processing the remaining 2 bytes of %s,\n" "the conversion state is initial conversion state\n", str); } }
Ausgabe:
After processing the first 1 byte of 水, the conversion state is not initial After processing the remaining 2 bytes of 水, the conversion state is initial conversion state
Referenzen
- C17-Standard (ISO/IEC 9899:2018):
-
- 7.29.6.2.1 Die mbsinit-Funktion (S: 322)
- C11-Standard (ISO/IEC 9899:2011):
-
- 7.29.6.2.1 Die mbsinit-Funktion (S: 441-442)
- C99-Standard (ISO/IEC 9899:1999):
-
- 7.24.6.2.1 Die mbsinit-Funktion (S: 387-388)
Siehe auch
|
(C95)
|
Konvertierungsstatusinformationen, die zum Iterieren von Multibyte-Zeichenketten erforderlich sind
(Klasse) |
|
C++-Dokumentation
für
mbsinit
|
|