function
<cwchar>
btowc
Convert single byte character to wide character
Returns the wide character representation of the byte value c if (and only if) c is a valid multibyte character with a length of a single byte in the initial state of a multibyte sequence.
Otherwise, it returns WEOF.
Parameters
- c
- The int promotion of a byte (as in a multibyte sequence).
The value is internally converted to an unsigned char to be interpreted.
Return Value
If c is a valid single-byte character in the initial shift state of a multibyte sequence, the function returns its representation as a wchar_t (type-casted to a value of type wint_t).
If c is EOF, or if c is not a valid single-byte representation, the function returns WEOF.
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
/* btowc example */
#include <wchar.h>
int main()
{
int i,num;
const char mbs [] = "btowc example";
num=0;
for (i=0; i<sizeof(mbs); ++i)
if (btowc(mbs[i]) != WEOF) ++num;
wprintf (L"mbs contains %d single-byte characters.\n",num);
return 0;
}
| |
Output:
mbs contains 14 single-byte characters.
|
See also
- wctob
- Convert wide character to single byte (function
)
- mbrtowc
- Convert multibyte sequence to wide character (function
)
- mbsrtowcs
- Convert multibyte string to wide-character string (function
)