C ++ c16rtomb () - C ++ Pustaka Standar

Fungsi c16rtomb () di C ++ mengonversi representasi karakter 16 bit menjadi representasi karakter multibyte yang sempit.

Fungsi c16rtomb () didefinisikan dalam file header.

c16rtomb () Prototipe

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

Fungsi c16rtomb () mengonversi karakter utf-16 c16 menjadi padanan multibyte dan menyimpannya di objek yang ditunjukkan oleh s.

Jika s merepresentasikan null pointer, panggilan tersebut setara dengan c16rtomb (buf, u ' 0', ps) untuk beberapa buffer internal buf.

Jika c16 adalah karakter lebar nol yaitu u ' 0', byte nol disimpan.

c16rtomb () Parameter

  • s: Pointer ke larik karakter tempat karakter multibyte akan disimpan.
  • c16: Karakter 16 bit yang akan diubah.
  • ps: Penunjuk ke objek mbstate_t yang digunakan saat menafsirkan string multibyte.

c16rtomb () Nilai kembali

  • Jika berhasil, fungsi c16rtomb () mengembalikan jumlah byte yang ditulis ke larik karakter yang ditunjukkan oleh s.
  • Jika gagal, -1 dikembalikan dan EILSEQ disimpan di errno.

Contoh: Bagaimana fungsi c16rtomb () bekerja?

 #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!

Artikel yang menarik...