C ++ c32rtomb () - biblioteka standardowa C ++

Funkcja c32rtomb () w języku C ++ konwertuje znak 32-bitowy na reprezentację na wąską reprezentację znaków wielobajtowych.

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

Prototyp c32rtomb ()

 size_t c32rtomb (char * s, char32_t c32, mbstate_t * ps);

Funkcja c32rtomb () konwertuje znak utf-32 c32 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 c32rtomb (buf, U ' 0', ps) dla jakiegoś wewnętrznego bufora buf.

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

Parametry c32rtomb ()

  • s: wskaźnik do tablicy znaków, w której przechowywany jest znak wielobajtowy.
  • c32: 32-bitowy znak do konwersji.
  • ps: wskaźnik do obiektu mbstate_t używanego podczas interpretacji ciągu wielobajtowego.

c32rtomb () Wartość zwracana

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

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

Interesujące artykuły...