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!