mbsinit
Von cppreference.com
| Definiert in Header <wchar.h> |
||
| int mbsinit( const mbstate_t* ps); |
(seit C95) | |
Wenn ps kein Nullzeiger ist, bestimmt die Funktion mbsinit, ob das Objekt vom Typ mbstate_t, auf das gezeigt wird, den anfänglichen Konvertierungszustand beschreibt.
Inhalt |
[bearbeiten] Anmerkungen
Obwohl ein Null-initialisierter mbstate_t immer den anfänglichen Konvertierungszustand darstellt, können andere Werte von mbstate_t ebenfalls den anfänglichen Konvertierungszustand darstellen.
[bearbeiten] Parameter
| ps | - | Zeiger auf das zu untersuchende mbstate_t Objekt |
[bearbeiten] Rückgabewert
0, wenn ps kein Nullzeiger ist und nicht den anfänglichen Konvertierungszustand darstellt, ein von Null verschiedener Wert andernfalls.
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#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
[bearbeiten] Referenzen
- C17-Standard (ISO/IEC 9899:2018)
- 7.29.6.2.1 Die Funktion mbsinit (S. 322)
- C11-Standard (ISO/IEC 9899:2011)
- 7.29.6.2.1 Die Funktion mbsinit (S. 441-442)
- C99-Standard (ISO/IEC 9899:1999)
- 7.24.6.2.1 Die Funktion mbsinit (S. 387-388)
[bearbeiten] Siehe auch
| (C95) |
Konvertierungsinformationen, die zum Iterieren über Multibyte-Zeichenstrings benötigt werden (Klasse) |
| C++ Dokumentation für mbsinit
| |