wctob

Determines if a wide character corresponds to a multibyte character and returns its multibyte character representation.

Syntax

int wctob(
   wint_t wchar
);

Parameters

wchar
Value to translate.

Return Value

If wctob successfully converts a wide character, it returns its multibyte character representation, only if the multibyte character is exactly one byte long. If wctob encounters a wide character it cannot convert to a multibyte character or the multibyte character is not exactly one byte long, it returns a -1.

Remarks

The wctob function converts a wide character contained in wchar to the corresponding multibyte character passed by the return int value, if the multibyte character is exactly one byte long.

If wctob was unsuccessful and no corresponding multibyte character was found, the function sets errno to EILSEQ and returns -1.

By default, this function's global state is scoped to the application. To change this, see Global state in the CRT.

Requirements

Routine Required header
wctob <wchar.h>

For additional compatibility information, see Compatibility.

Example

This program illustrates the behavior of the wcstombs function.

// 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".

See also

Data Conversion
Locale
_mbclen, mblen, _mblen_l
mbstowcs, _mbstowcs_l
mbtowc, _mbtowc_l
wctomb, _wctomb_l
WideCharToMultiByte