Aracılığıyla paylaş


mbsrtowcs

Geçerli yerel bir çoklu bayt karakter dizesini ortasında bir çoklu bayt karakter yeniden başlatmayı yeteneği ile ilgili bir geniş karakter dizeye dönüştürür.Bu işlev daha güvenli bir sürümünü kullanılabilir; bakın mbsrtowcs_s.

size_t mbsrtowcs(    wchar_t *wcstr,    const char **mbstr,    sizeof count,    mbstate_t *mbstate ); template <size_t size> size_t mbsrtowcs(    wchar_t (&wcstr)[size],    const char **mbstr,    sizeof count,    mbstate_t *mbstate ); // C++ only

Parametreler

  • [dışı]wcstr
    Sonuç dönüştürülen geniş karakter dizesi depolamak için adresi.

  • [içinde out]mbstr
    Dönüştürülecek çoklu bayt karakter dizesi konumunu dolaylı işaretçisi.

  • [in]count
    En fazla dönüştürmek ve depolamak için (bayt değil) karakter sayısı wcstr.

  • [içinde out]mbstate
    Bir işaretçi bir mbstate_t dönüştürme durum nesnesi.Bu değer null bir işaretçi ise, bir statik iç dönüştürme durumu nesnesi kullanılır.Çünkü iç mbstate_t nesne iş parçacığı güvenli değil, size her zaman kendi geçirmenizi öneririz mbstate parametresi.

Dönüş Değeri

Sonlandırma null karakteri varsa hariç başarıyla dönüştürüldü, karakter sayısını döndürür.Döndürür (bir hata oluştu ve ayarlar size_t)(-1) errno EILSEQ için.

Notlar

mbsrtowcs İşlevi dönüştürür dolaylı olarak işaret çoklu bayt karakter dizesi mbstr, geniş karakterler tarafından işaret arabellek içinde depolanan içine wcstr, bulunan dönüştürme durumu kullanarak mbstate.Ya da bir sonlandırma null çoklu bayt karakter karşılaşılanaa kadar dönüştürme için her bir karakteri geçerli yerel geçerli bir karakter karşılık gelmiyor bir çoklu bayt dizisi karşılaştı, devam eder veya kadar count karakterlere dönüştürdü.Varsa mbsrtowcs çoklu bayt null karakteri ('\0') önce veya zaman karşılaştığında count gerçekleşir dönüştürür, 16 bit sonlandırma boş karakter ve durdurur.

Bu nedenle, en geniş karakter dize wcstr null-yalnızca sonlandırılır mbsrtowcs çoklu bayt boş karakter dönüştürme sırasında karşılaşır.Dizileri tarafından işaret ise mbstr ve wcstr çakışmaması, davranışını mbsrtowcs tanımlanmamıştır.mbsrtowcsGeçerli yerel LC_TYPE kategoriye göre etkilenir.

mbsrtowcs İşlevi farklıdır mbstowcs, _mbstowcs_l kendi restartability tarafından.Dönüştürme durumu içinde depolanan mbstate sonraki çağrılar aynı veya diğer yeniden başlatılabilir işlevler için.Sonuçları yeniden başlatılabilir ve nonrestartable işlevleri kullanımını kullanırken tanımlanmamış.Örneğin, bir uygulama kullanması gereken mbsrlen yerine mbslen, bir sonraki çağrı, mbsrtowcs yerine kullanılırmbstowcs.

Varsa wcstr null bir işaretçi değil tarafından için işaretçiyi nesne işaret mbstr sonlandırma boş karakter ulaştığından dönüştürme durmuşsa null bir işaretçi atanır.Aksi takdirde, varsa, son çoklu bayt karakter dönüştürülüp, adresi yalnızca geçmiş atanır.Bu, bir sonraki işlev çağrısı dönüştürme yeniden başlatmak bu çağrı durduğu sağlar.

Varsa wcstr bağımsız değişkeni bir işaretçidir null, count bağımsız değişkeni göz ardı edilir ve mbsrtowcs gereken boyut geniş karakterler için hedef dize döndürür.Varsa mbstate null bir işaretçi iş parçacığı güvenli olmayan statik iç işlevini kullanıyor mbstate_t dönüştürme durum nesnesi.Varsa karakter dizisi mbstr karşılık gelen bir çok baytlı yok karakter karşılıklarını, -1 döndürülür ve errno ayarlamak EILSEQ.

Varsa mbstr ISA null işaretçi, geçersiz bir parametre işleyici çağrılır, açıklandığı gibi Parametre Doğrulama.Devam etmek için yürütme izin verilirse, bu işlev ayarlar errno için EINVAL ve -1 değerini döndürür.

C++'da, bu işlev, daha yeni, güvenli karşılık gelen bu işlevin çağıran bir şablon aşırı sahiptir.Daha fazla bilgi için bkz. Güvenli Şablon Aşırı Yüklemeleri.

Özel Durumlar

mbsrtowcs İşlevdir çok iş parçacıklı güvenli geçerli iş parçacığının hiçbir işlev çağrıları sürece setlocale bu işlev yürütülmekte olduğu sürece ve mbstate bağımsız değişkeni null bir işaretçi değil.

.NET Framework Eşdeğeri

Uygulanamaz. Standart C işlevini çağırmak için PInvoke kullanın. Daha fazla bilgi için Platform çağırma örnekler.

Gereksinimler

Yordam

Gerekli başlık

mbsrtowcs

< wchar.h >

Ayrıca bkz.

Başvuru

Veri Dönüştürme

Yerel Ayar

Çok Baytlı Karakter Sıralarının Yorumu

mbrtowc

mbtowc, _mbtowc_l

mbstowcs, _mbstowcs_l

mbsinit