The wctob() function is defined in <cwchar> header file.
wctob() prototype
int wctob( wint_t c );
The wctob() function takes a wide character c as its argument and returns its narrow single byte character equivalent if possible.
wctob() Parameters
- c: The wide character to narrow.
wctob() Return value
If c represent a multibyte character of length 1 in initial shift state, the wctob() function returns the single byte representation of c. Otherwise EOF is returned.
Example: How wctob() function works?
#include <cwchar>
#include <clocale>
#include <iostream>
#include <cstdio>
using namespace std;
void test_wctob(wchar_t c)
{
int ch = wctob(c);
if (ch != EOF)
wcout << c << L" can be narrowed" << endl;
else
wcout << c << L" can't be narrowed" << endl;
}
int main()
{
setlocale(LC_ALL, "en_US.utf8");
wchar_t wc1 = L'm';
wchar_t wc2 = L'\u00c6';
test_wctob(wc1);
test_wctob(wc2);
return 0;
}
When you run the program, the output will be:
m can be narrowed Æ can't be narrowed