Aracılığıyla paylaş


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 EILSEQayarlanı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 mbchardepolar. İş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 mbcharNULL, 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