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.