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 is wctype_t. The value in the property variable is generated using the wctype function, which takes in a string denoting a particular property. The wctype_t data-type and the wctype function can be accessed through the wctype.h library.

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
print 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

Copyright ©2025 Educative, Inc. All rights reserved