wctob
Określa, czy znak szeroki odpowiada znakowi wielobajtowemu i zwraca reprezentację znaków wielobajtowych.
Składnia
int wctob(
wint_t wchar
);
Parametry
wchar
Wartość do tłumaczenia.
Wartość zwracana
Jeśli wctob
pomyślnie konwertuje znak szeroki, zwraca reprezentację wielobajtowego znaku tylko wtedy, gdy znak wielobajtowy jest długością pojedynczego bajtu. Jeśli wctob
napotka szeroki znak, nie może przekonwertować na znak wielobajtowy lub jeśli znak wielobajtowy nie jest długi ani jeden bajt, zwraca wartość -1.
Uwagi
Funkcja wctob
konwertuje szeroki znak zawarty w wchar
obiekcie na odpowiadający znak wielobajtowy int
przekazywany przez wartość zwracaną, jeśli znak wielobajtowy jest długością pojedynczego bajtu.
Jeśli wctob
nie można odnaleźć odpowiedniego znaku wielobajtowego, funkcja ustawia errno
EILSEQ
wartość i zwraca wartość -1.
Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.
Wymagania
Procedura | Wymagany nagłówek |
---|---|
wctob |
<wchar.h> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Przykład
Ten program ilustruje zachowanie wctob
funkcji.
// crt_wctob.c
#include <stdio.h>
#include <wchar.h>
int main( void )
{
int bChar = 0;
wint_t wChar = 0;
// Set the corresponding wide character to exactly one byte.
wChar = (wint_t)'A';
bChar = wctob( wChar );
if (bChar == WEOF)
{
printf( "No corresponding multibyte character was found.\n");
}
else
{
printf( "Determined the corresponding multibyte character to"
" be \"%c\".\n", bChar);
}
}
Determined the corresponding multibyte character to be "A".
Zobacz też
Konwersja danych
ustawienia regionalne
_mbclen
, , mblen
_mblen_l
mbstowcs
, _mbstowcs_l
mbtowc
, _mbtowc_l
wctomb
, _wctomb_l
WideCharToMultiByte