function
<cwchar>

wctob

int wctob (wint_t wc);
Convert wide character to single byte
Returns the single-byte representation of the wide character wc if (and only if) wc corresponds to a multibyte character with a length of a single byte in the initial state of a multibyte sequence.

Otherwise, it returns EOF.

Parameters

wc
The wint_t promotion of a wide character.
The value is internally converted to a wchar_t to be interpreted.

Return Value

If wc translates to a single-byte character in the initial shift state of a multibyte sequence, the function returns its representation as an unsigned char (promoted to a value of type int).
Otherwise, it returns EOF.

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/* wctob example */ #include <wchar.h> #include <stdio.h> int main() { int i,num; const wchar_t wcs [] = L"wctob example"; num=0; for (i=0; i<wcslen(wcs); ++i) if (wctob(wcs[i]) != EOF) ++num; wprintf (L"wcs contains %d characters that translate to single-byte characters.",num); return 0; }

Output:
wcs contains 14 characters that translate to single-byte characters. 


See also