c16rtomb
, c32rtomb
Mengonversi karakter lebar UTF-16 atau UTF-32 menjadi karakter multibyte UTF-8.
Sintaks
size_t c16rtomb(
char *mbchar,
char16_t wchar,
mbstate_t *state
);
size_t c32rtomb(
char *mbchar,
char32_t wchar,
mbstate_t *state
);
Parameter
mbchar
Penunjuk ke array untuk menyimpan karakter multibyte UTF-8 yang dikonversi.
wchar
Karakter lebar untuk dikonversi.
state
Penunjuk ke mbstate_t
objek.
Nilai hasil
Jumlah byte yang disimpan dalam objek mbchar
array , termasuk urutan shift apa pun. Jika wchar
bukan karakter lebar yang valid, nilai (size_t
)(-1) dikembalikan, errno
diatur ke EILSEQ
, dan nilai state
tidak ditentukan.
Keterangan
Fungsi ini c16rtomb
mengonversi karakter wchar
LE UTF-16 ke urutan karakter sempit multibyte UTF-8 yang setara. Jika mbchar
bukan penunjuk null, fungsi menyimpan urutan yang dikonversi dalam objek array yang diacu oleh mbchar
. MB_CUR_MAX
Hingga byte disimpan dalam mbchar
, dan state
diatur ke status pergeseran multibyte yang dihasilkan.
Jika wchar
adalah karakter lebar null, urutan yang diperlukan untuk memulihkan status shift awal disimpan, jika diperlukan, diikuti oleh karakter null. state
diatur ke status konversi awal. Fungsi c32rtomb
ini identik, tetapi mengonversi karakter UTF-32.
Jika mbchar
adalah penunjuk null, perilaku setara dengan panggilan ke fungsi yang menggantikan buffer mbchar
internal dan karakter null lebar untuk wchar
.
Objek state
status konversi memungkinkan Anda melakukan panggilan berikutnya ke fungsi ini dan fungsi lain yang dapat dimulai ulang yang mempertahankan status pergeseran karakter output multibyte. Hasil tidak terdefinisi saat Anda mencampur penggunaan fungsi yang dapat dimulai ulang dan tidak dapat dimulai ulang.
Untuk mengonversi karakter UTF-16 menjadi karakter multibyte non-UTF-8, gunakan wcstombs
fungsi , , _wcstombs_l
wcstombs_s, atau _wcstombs_s_l.
Persyaratan
Rutin | Header yang diperlukan |
---|---|
c16rtomb , c32rtomb |
C, C++: <uchar.h> |
Untuk informasi kompatibilitas, lihat Kompatibilitas.
Baca juga
Konversi data
Lokal
Interpretasi urutan karakter multibyte
mbrtoc16
, mbrtoc32
wcrtomb
wcrtomb_s
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk