wctomb
, _wctomb_l
Geniş bir karakteri karşılık gelen çok baytlı karaktere dönüştürün. Bu işlevlerin daha güvenli sürümleri mevcuttur; bkz. wctomb_s
, _wctomb_s_l
.
Sözdizimi
int wctomb(
char *mbchar,
wchar_t wchar
);
int _wctomb_l(
char *mbchar,
wchar_t wchar,
_locale_t locale
);
Parametreler
mbchar
Çok baytlı bir karakterin adresi.
wchar
Geniş bir karakter.
Dönüş değeri
Geniş karakteri çok baytlı bir karaktere dönüştürürse wctomb
, geniş karakterdeki bayt sayısını (hiçbir zaman büyüktür MB_CUR_MAX
) döndürür. wchar
Geniş karakterli null karakter ise (L'\0'), wctomb
1 döndürür. Hedef işaretçi mbchar
ise NULL
, wctomb
0 döndürür. Geçerli yerel ayarda dönüştürme mümkün değilse- wctomb
1 döndürür ve errno
olarak EILSEQ
ayarlanır.
Açıklamalar
işlevi bağımsız wctomb
değişkenini wchar
karşılık gelen çok baytlı karaktere dönüştürür ve sonucu konumunda mbchar
depolar. İşlevi herhangi bir programın herhangi bir noktasından çağırabilirsiniz. wctomb
yerel ayara bağımlı herhangi bir davranış için geçerli yerel ayarı kullanır; _wctomb_l
, bunun yerine geçirilen yerel ayarı kullanması dışında aynıdır wctomb
. Daha fazla bilgi için bkz . Yerel Ayar.
wctomb
parametrelerini doğrular. ise mbchar
NULL
, parametre doğrulamasında açıklandığı gibi geçersiz parametre işleyicisi çağrılır. Yürütmenin devam etmesi için izin verilirse, errno
olarak ayarlanır EINVAL
ve işlevi -1 döndürür.
Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.
Gereksinimler
Yordam | Gerekli başlık |
---|---|
wctomb |
<stdlib.h> |
Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.
Örnek
Bu program wctomb işlevinin davranışını gösterir.
// crt_wctomb.cpp
// compile with: /W3
#include <stdio.h>
#include <stdlib.h>
int main( void )
{
int i;
wchar_t wc = L'a';
char *pmb = (char *)malloc( MB_CUR_MAX );
printf( "Convert a wide character:\n" );
i = wctomb( pmb, wc ); // C4996
// Note: wctomb is deprecated; consider using wctomb_s
printf( " Characters converted: %u\n", i );
printf( " Multibyte character: %.1s\n\n", pmb );
}
Convert a wide character:
Characters converted: 1
Multibyte character: a
Ayrıca bkz.
Veri dönüştürme
Yerel ayar
_mbclen
, mblen
, _mblen_l
mbstowcs
, _mbstowcs_l
mbtowc
, _mbtowc_l
wcstombs
, _wcstombs_l
WideCharToMultiByte