Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
UTF-16 veya UTF-32 genişliğindeki bir karakteri UTF-8 çok baytlı karaktere dönüştürün.
Sözdizimi
size_t c16rtomb(
char *mbchar,
char16_t wchar,
mbstate_t *state
);
size_t c32rtomb(
char *mbchar,
char32_t wchar,
mbstate_t *state
);
Parametreler
mbchar
Dönüştürülen UTF-8 çok baytlı karakteri depolamak için bir dizi işaretçisi.
wchar
Dönüştürülecek geniş bir karakter.
state
Nesne işaretçisi mbstate_t .
Dönüş değeri
Tüm vardiya dizileri dahil olmak üzere dizi nesnesinde mbchardepolanan bayt sayısı. Geçerli bir geniş karakter değilse wchar , (size_t)(-1) değeri döndürülür, errno olarak EILSEQayarlanır ve değeri state belirtilmez.
Açıklamalar
İşlev UTF-16 c16rtomb LE karakterini wchar eşdeğer UTF-8 çok baytlı dar karakter dizisine dönüştürür. Null işaretçi değilse mbchar , işlev dönüştürülen sırayı tarafından mbcharişaret edilen dizi nesnesinde depolar. Baytlara MB_CUR_MAX kadar , içinde mbchardepolanır ve state sonuçta elde edilen çok baytlı kaydırma durumuna ayarlanır.
Boş geniş karakter ise wchar , ilk vardiya durumunu geri yüklemek için gereken bir sıra depolanır, gerekirse, ardından null karakter. state ilk dönüştürme durumuna ayarlanır. c32rtomb İşlev aynıdır, ancak UTF-32 karakterini dönüştürür.
Null işaretçiyse mbchar , davranış işlevine yapılan ve için iç arabelleği mbchar ve geniş null karakterinin yerini alan bir çağrıya wchareşdeğerdir.
Dönüştürme state durumu nesnesi, bu işleve ve çok baytlı çıkış karakterlerinin vardiya durumunu koruyan diğer yeniden başlatılabilir işlevlere sonraki çağrılar yapmanıza olanak tanır. Yeniden başlatılabilir ve yeniden başlatılamayan işlevlerin kullanımını karıştırdığınızda sonuçlar tanımlanmamış olur.
UTF-16 karakterlerini UTF-8 olmayan çok baytlı karakterlere dönüştürmek için , _wcstombs_l, wcstombs_s veya _wcstombs_s_l işlevlerini kullanınwcstombs.
Gereksinimler
| Yordam | Gerekli başlık |
|---|---|
c16rtomb, c32rtomb |
C, C++: <uchar.h> |
Uyumluluk bilgileri için bkz . Uyumluluk.
Ayrıca bkz.
Veri dönüştürme
Yerel ayar
Çok baytlı karakter dizilerinin yorumlanması
mbrtoc16, mbrtoc32
wcrtomb
wcrtomb_s