Aracılığıyla paylaş


c16rtomb, c32rtomb

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