What is iswctype in C?
The iswctype function in C is used to check whether or not a given wide character has a particular property. For instance, we can use the iswctype function to check if a wide character is in lower or upper case.
To access the iswctype function and declare a wide character string of type wchar_t, the wctype.h and wchar.h libraries must be included in the program, respectively.
#include <wctype.h>
#include <wchar.h>
Syntax
int iswctype(wint_t character, wctype_t prop);
Parameters
The iswctype function in C takes in two parameters:
character– The wide character that needs to be checked.prop– The property that the wide character needs to be checked for. The data-type of the property parameter iswctype_t. The value in the property variable is generated using thewctypefunction, which takes in a string denoting a particular property. Thewctype_tdata-type and thewctypefunction can be accessed through thewctype.hlibrary.
The wctype can take in many types of strings as its argument. Some of these are shown in the table below:
| String | Property |
|---|---|
| lower | lowercase |
| upper | uppercase |
| alpha | alphanumeric |
| printable |
Return value
The iswctype function returns either 0 or any non-zero number, which denotes the presence or absence of a particular property, respectively.
Example
The code snippet below shows how we can use the iswctype function to check if a particular wide character is in lower case or upper case.
We declare a sample string and create a variable of type wctype_t using the wctype function. The string “upper” is passed to the wctype function as its parameter, which returns the required value of type wctype_t. This value and each wide character of the sample string is passed to the iswctype function iteratively in a while loop as its arguments. The return value of the iswctype function is checked in an if-else statement, and the program prints the property of each character on the console! We can see this here:
/* iswctype example */#include <stdio.h>#include <wctype.h>#include <wchar.h>int main (){int x = 0;wchar_t sample_string[] = L"EDUCative\n";wctype_t check = wctype("upper");while ( sample_string[x] ){if ( iswctype(sample_string[x],check) ){printf("Upper Case\n");}else{printf("Lower Case\n");}x++;}return 0;}
Free Resources