wctomb_s, _wctomb_s_l
Geniş bir karakter için karşılık gelen çok baytlı karakter dönüştürür.Bir sürümü wctomb, _wctomb_l açıklandığı gibi güvenlik geliştirmeleri ile crt güvenlik özellikleri.
errno_t wctomb_s(
int *pRetValue,
char *mbchar,
size_t sizeInBytes,
wchar_t wchar
);
errno_t _wctomb_s_l(
int *pRetValue,
char *mbchar,
size_t sizeInBytes,
wchar_t wchar,
_locale_t locale
);
Parametreler
[Çıkış]pRetValue
Sonucu gösteren bir kod veya bayt sayısı.[Çıkış]mbchar
Çok baytlı karakter adresidir.[in]sizeInBytes
Arabellek boyutu mbchar.[in]wchar
Geniş bir karakter.[in]locale
Kullanılacak yerel ayarı.
Dönüş Değeri
Sıfır başarılı olursa, hata durumunda bir hata kodu.
Hata koşulları
mbchar |
sizeInBytes |
Dönüş değeri |
pRetValue |
---|---|---|---|
NULL |
> 0 |
EINVAL |
modifiye edilmemiş |
herhangi bir |
>INT_MAX |
EINVAL |
modifiye edilmemiş |
herhangi bir |
çok küçük |
EINVAL |
modifiye edilmemiş |
Yukarıdaki hata durumlardan herhangi biri meydana gelirse, geçersiz parametre işleyicisi, açıklandığı şekilde çağrılır Parametre doğrulama.Yürütülmesine devam etmek için izin verilip verilmediğini wctomb döndüren EINVAL ve errno için EINVAL.
Notlar
wctomb_s İşlev dönüştürür, wchar bağımsız değişkenine karşılık gelen çok baytlı karakter at sonucu depolar ve mbchar.Herhangi bir programda herhangi bir noktasından işlevini çağırabilirsiniz.
wctomb_s Geniş karakter dönüştürür çok baytlı bir karakter, bayt sayısını koyar (olduğu hiçbir zaman büyük MB_CUR_MAX) geniş karaktere göre sıralanmasını tamsayı olarak pRetValue.wchar (l '\0'), geniş karakter null karakteri wctomb_s doldurur pRetValue 1.Hedef işaretçi mbchar null, wctomb_s 0 koyar pRetValue.Geçerli yerel ayarı dönüşümü mümkün değilse, wctomb_s –1 koyar pRetValue.
wctomb_sGeçerli yerel ayarı için yerel ayara bağımlı bilgileri kullanır; _wctomb_s_lBunun yerine geçirilen yerel kullanır dışında aynıdır.Daha fazla bilgi için bkz. Yerel ayar.
Gereksinimler
Yordamı |
Gerekli başlık |
---|---|
wctomb_s |
<stdlib.h> |
_wctomb_s_l |
<stdlib.h> |
Ek uyumluluk bilgileri için bkz: Uyumluluk giriş.
Örnek
Bu programın davranışını gösterilmektedir wctomb işlevi.
// crt_wctomb_s.cpp
#include <stdio.h>
#include <stdlib.h>
int main( void )
{
int i;
wchar_t wc = L'a';
char *pmb = (char *)malloc( MB_CUR_MAX );
printf_s( "Convert a wide character:\n" );
wctomb_s( &i, pmb, MB_CUR_MAX, wc );
printf_s( " Characters converted: %u\n", i );
printf_s( " Multibyte character: %.1s\n\n", pmb );
}
.NET Framework Eşdeğeri
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri.