The wctype() is a built-in function in C/C++ which returns a value of type wctype_t that is used for classifying a wide character. It is defined within the cwctype header file of C++. The following are the possible type wctype_t:
Syntax:
CPP
CPP
| Value of str | Equivalent function |
|---|---|
| space | iswspace |
| upper | iswupper |
| xdigit | iswxdigit |
| iswprint | |
| punct | iswpunct |
| graph | iswgraph |
| lower | iswlower |
| cntrl | iswcntrl |
| digit | iswdigit |
| alpha | iswalpha |
| blank | iswblank |
| alnum | iswalnum |
wctype_t wctype(const char* str)Parameter: The function accepts a single mandatory parameter str which specifies the desired wctype category. Return Value: The function returns two values as shown below:
- The function returns a wctype_t object that can be used with iswctype() ortowctype() to check a wide character's property.
- If str doesn't provide a category supported by the current C locale, it returns zero.
#include <bits/stdc++.h>
using namespace std;
int main()
{
wchar_t wc = L'@';
// checks if the type is digit
if (iswctype(wc, wctype("digit")))
wcout << wc << L" is a digit";
// checks if the type is alpha
else if (iswctype(wc, wctype("alpha")))
wcout << wc << L" is an alphabet";
else
wcout << wc << L" is neither an"
<< " alphabet nor a digit";
return 0;
}
Output:
Output:
@ is neither an alphabet nor a digit
@ is neither an alphabet nor a digitProgram 2:
#include <bits/stdc++.h>
using namespace std;
int main()
{
wchar_t wc = L'g';
// checks if the type is digit
if (iswctype(wc, wctype("digit")))
wcout << wc << L" is a digit";
// checks if the type is alpha
else if (iswctype(wc, wctype("alpha")))
wcout << wc << L" is an alphabet";
else
wcout << wc << L" is neither"
<< " an alphabet nor a digit";
return 0;
}
Output:
g is an alphabet