C ++ c16rtomb () - C ++ standaardbibliotheek

De functie c16rtomb () in C ++ converteert 16-bits tekenweergave naar een smalle multibyte-tekenweergave.

De functie c16rtomb () is gedefinieerd in het header-bestand.

c16rtomb () Prototype

 size_t c16rtomb (char * s, char16_t c16, mbstate_t * ps);

De functie c16rtomb () converteert het utf-16-teken c16 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 c16rtomb (buf, u ' 0', ps) voor een interne buffer buf.

Als c16 het nul-brede teken is, dwz u ' 0', wordt een nul-byte opgeslagen.

c16rtomb () Parameters

  • s: Pointer naar een karakterreeks waar het multibyte-teken moet worden opgeslagen.
  • c16: Het 16-bits teken dat moet worden geconverteerd.
  • ps: een pointer naar een mbstate_t-object dat wordt gebruikt bij het interpreteren van de multibyte-string.

c16rtomb () Retourwaarde

  • Bij succes geeft de functie c16rtomb () het aantal bytes terug dat is geschreven naar de tekenreeks waarnaar wordt verwezen door s.
  • Bij een fout wordt -1 geretourneerd en wordt EILSEQ opgeslagen in errno.

Voorbeeld: hoe werkt de functie c16rtomb ()?

 #include #include using namespace std; int main() ( const char16_t str() = u"Hello World!"; char s(50); mbstate_t ps(); size_t length; int j = 0; while (str(j)) ( length = c16rtomb(s, str(j), &ps); if ((length == 0) || (length> 50)) break; for (int i=0; i 

When you run the program, the output will be:

 Hello World!

Interessante artikelen...