C ++ c16rtomb () - Biblioteca standard C ++

Funcția c16rtomb () din C ++ convertește reprezentarea caracterelor de 16 biți într-o reprezentare îngustă a caracterelor multibyte.

Funcția c16rtomb () este definită în fișierul antet.

c16rtomb () Prototip

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

Funcția c16rtomb () convertește caracterul utf-16 c16 în echivalentul său multibyte și îl stochează în obiectul indicat de s.

Dacă s reprezintă un indicator nul, apelul este echivalent cu c16rtomb (buf, u ' 0', ps) pentru un buf tampon intern.

Dacă c16 este caracterul larg nul, adică u ' 0', este stocat un octet nul.

c16rtomb () Parametri

  • s: Pointer către o matrice de caractere în care urmează să fie stocat caracterul multibyte.
  • c16: Caracterul de 16 biți de convertit.
  • ps: Un pointer către un obiect mbstate_t utilizat la interpretarea șirului multibyte.

c16rtomb () Valoare returnată

  • La succes, funcția c16rtomb () returnează numărul de octeți scrise în matricea de caractere indicată de s.
  • La eșec, -1 este returnat și EILSEQ este stocat în errno.

Exemplu: Cum funcționează funcția 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!

Articole interesante...