C ++ c32rtomb () - C ++ standaardbibliotheek

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.

Interessante artikelen...