De functie c32rtomb () in C ++ converteert een 32-bits teken naar representatie naar een smalle multibyte-tekenweergave.
De functie c32rtomb () is gedefinieerd in het header-bestand.
c32rtomb () prototype
size_t c32rtomb (char * s, char32_t c32, mbstate_t * ps);
De functie c32rtomb () converteert het utf-32-teken c32 naar zijn multibyte-equivalent en slaat het op in het object waarnaar wordt verwezen door s.
Als s een null-pointer voorstelt, is de aanroep equivalent aan c32rtomb (buf, U ' 0', ps) voor een interne buffer buf.
Als c32 het nul-brede teken is, dwz U ' 0', wordt een nul-byte opgeslagen.
c32rtomb () Parameters
- s: Pointer naar een tekenreeks waarin het multibyte-teken is opgeslagen.
- c32: Het 32-bits teken dat moet worden geconverteerd.
- ps: een pointer naar een mbstate_t-object dat wordt gebruikt bij het interpreteren van de multibyte-string.
c32rtomb () Retourwaarde
- Bij succes geeft de functie c32rtomb () het aantal bytes terug dat is geschreven naar de tekenreeks waarnaar wordt verwezen door s.
- Bij een fout wordt -1 geretourneerd en wordt errno ingesteld op EILSEQ .
Voorbeeld: hoe werkt de functie 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.