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!