C ++ c16rtomb () - biblioteka standardowa C ++

Funkcja c16rtomb () w C ++ konwertuje 16-bitową reprezentację znaków na wąską, wielobajtową reprezentację znaków.

Funkcja c16rtomb () jest zdefiniowana w pliku nagłówkowym.

c16rtomb () Prototype

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

Funkcja c16rtomb () konwertuje znak utf-16 c16 na jego wielobajtowy odpowiednik i zapisuje go w obiekcie wskazywanym przez s.

Jeśli s reprezentuje pusty wskaźnik, wywołanie jest równoważne c16rtomb (buf, u ' 0', ps) dla jakiegoś wewnętrznego bufora buf.

Jeśli c16 jest znakiem o szerokości null, tj. U ' 0', przechowywany jest bajt zerowy.

Parametry c16rtomb ()

  • s: Wskaźnik do tablicy znaków, w której ma być przechowywany znak wielobajtowy.
  • c16: 16-bitowy znak do konwersji.
  • ps: wskaźnik do obiektu mbstate_t używanego podczas interpretacji ciągu wielobajtowego.

c16rtomb () Wartość zwracana

  • Po pomyślnym zakończeniu funkcja c16rtomb () zwraca liczbę bajtów zapisanych w tablicy znaków wskazywanej przez s.
  • W przypadku niepowodzenia zwracane jest -1, a EILSEQ jest zapisywane w errno.

Przykład: Jak działa funkcja 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!

Interesujące artykuły...