C ++ c32rtomb () - C ++ Standardbibliothek

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.

Interessante Beiträge...