wctomb _wctomb_l
Široký znak převeďte na odpovídající vícebajtových znaků.Bezpečnější verze tyto funkce jsou k dispozici; see wctomb_s _wctomb_s_l.
int wctomb(
char *mbchar,
wchar_t wchar
);
int _wctomb_l(
char *mbchar,
wchar_t wchar,
_locale_t locale
);
Parametry
mbchar
Adresa vícebajtových znaků.wchar
Široký znak.
Vrácená hodnota
Pokud wctomb převede širokých znaků na vícebajtové znakové vrátí počet bajtů (což nebude nikdy větší než MB_CUR_MAX) v širokých znaků.Pokud wchar se znakem null celého znaku (L "\0"), wctomb vrátí 1.Pokud cílový ukazatel mbchar hodnotu NULL, wctomb vrátí hodnotu 0.Pokud převod není v aktuální národní prostředí wctomb vrátí hodnotu –1 a errno je nastavena na EILSEQ.
Poznámky
wctomb Funkce převede jeho wchar argument odpovídající vícebajtové znakové a uloží výsledek na mbchar.Funkci lze volat z jakéhokoli místa v libovolném programu.wctombpoužívá aktuální národní prostředí pro všechny národní prostředí závislé na chování; _wctomb_lje shodné s wctomb až na to, že používá místo předaný národní prostředí.Další informace naleznete v tématu Národní prostředí.
wctombověřuje jeho parametry.Pokud mbchar je NULL, vyvolat neplatný parametr popisovače, jak je popsáno v Ověření parametrů.Pokud je povoleno spuštění pokračovat, errno je nastavena na EINVAL a vrátí -1.
Požadavky
Rutina |
Požadované záhlaví |
---|---|
wctomb |
<stdlib.h> |
Další informace o kompatibilitě, viz Compatibility v úvodu.
Příklad
Tento program popisuje chování funkce wctomb.
// 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 );
}
Ekvivalent v rozhraní .NET Framework
Nelze použít Použijte volání funkce standardní C, PInvoke. Další informace naleznete v tématu Příklady vyvolat platformu.