Die Funktion c32rtomb () in C ++ konvertiert ein 32-Bit-Zeichen in eine Darstellung in eine schmale Multibyte-Zeichendarstellung.
Die Funktion c32rtomb () ist in der Header-Datei definiert.
c32rtomb () Prototyp
size_t c32rtomb (char * s, char32_t c32, mbstate_t * ps);
Die Funktion c32rtomb () konvertiert das utf-32-Zeichen c32 in sein Multibyte-Äquivalent und speichert es in dem Objekt, auf das s zeigt.
Wenn s einen Nullzeiger darstellt, entspricht der Aufruf c32rtomb (buf, U ' 0', ps) für einen internen Puffer buf.
Wenn c32 das nullbreite Zeichen ist, dh U ' 0', wird ein Nullbyte gespeichert.
c32rtomb () Parameter
- s: Zeiger auf ein Zeichenarray, in dem das Multibyte-Zeichen gespeichert ist.
- c32: Das zu konvertierende 32-Bit-Zeichen.
- ps: Ein Zeiger auf ein mbstate_t-Objekt, das beim Interpretieren der Multibyte-Zeichenfolge verwendet wird.
c32rtomb () Rückgabewert
- Bei Erfolg gibt die Funktion c32rtomb () die Anzahl der Bytes zurück, die in das Zeichenarray geschrieben wurden, auf das s zeigt.
- Bei einem Fehler wird -1 zurückgegeben und errno auf EILSEQ gesetzt .
Beispiel: Wie funktioniert die Funktion c32rtomb ()?
#include #include using namespace std; int main() ( const char32_t str() = U"C++ is super fast."; char s(50); mbstate_t ps(); size_t length; int j = 0; while (str(j)) ( length = c32rtomb(s, str(j), &ps); if ((length == 0) || (length> 50)) break; for (int i=0; i
When you run the program, the output will be:
C++ is super fast.