Sdílet prostřednictvím


wctomb_s, _wctomb_s_l

Převede široké znak odpovídající vícebajtových znaků.Verze wctomb, _wctomb_l s vylepšení zabezpečení popsaným v Funkce zabezpečení v CRT.

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
);

Parametry

  • [výstup]pRetValue
    Počet bajtů nebo kód označující výsledek.

  • [výstup]mbchar
    Adresa vícebajtových znaků.

  • [v]sizeInBytes
    Velikost vyrovnávací paměti mbchar.

  • [v]wchar
    Široký znak.

  • [v]locale
    Národní prostředí použít.

Vrácená hodnota

Nula, pokud je úspěšná, kód chyby při selhání.

Chybové podmínky

mbchar

sizeInBytes

Vrácená hodnota

pRetValue

NULL

> 0

EINVAL

Nezměněno

žádné

>INT_MAX

EINVAL

Nezměněno

žádné

příliš malá.

EINVAL

Nezměněno

Pokud dojde k některé z výše uvedených podmínek chyba, je vyvolána neplatný parametr popisovače, popsaným v Ověření parametru.Pokud je povoleno spuštění pokračovat, wctomb vrátí EINVAL a errno na EINVAL.

Poznámky

wctomb_s 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.

Pokud wctomb_s převede širokých znaků na vícebajtové znakové systémem je počet bajtů (což nebude nikdy větší než MB_CUR_MAX) v širokých znaků do celé odkazuje pRetValue.Pokud wchar se znakem null celého znaku (L "\0"), wctomb_s vyplní pRetValue s 1.Pokud cílový ukazatel mbchar hodnotu NULL, wctomb_s 0 vloží do pRetValue.Pokud převod není v aktuální národní prostředí wctomb_s –1, přepne do pRetValue.

wctomb_saktuální národní prostředí používá informace závislé na národní prostředí; _wctomb_s_lje identické používá místo předaný národní prostředí.Další informace naleznete v tématu Národní prostředí.

Požadavky

Rutina

Požadované záhlaví

wctomb_s

<stdlib.h>

_wctomb_s_l

<stdlib.h>

Další informace o kompatibilitě, viz Compatibility v úvodu.

Příklad

Tento program popisuje chování wctomb funkce.

// 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 );
}
  

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.

Viz také

Referenční dokumentace

Převod dat

Národní prostředí

_mbclen, mblen, _mblen_l

mbstowcs, _mbstowcs_l

mbtowc, _mbtowc_l

wcstombs, _wcstombs_l

Funkce WideCharToMultiByte