C++ Standard Library C++ STL Library

C++ <cwctype> - iswctype() Function



The C++ <cwctype> iswctype() function checks whether the wide character wc has the property specified by desc.

The setting of the LC_CTYPE category at the time of calling the function will be the same as when wctype() was called to obtain desc. A specific locale can accept multiple categories in which to classify its characters. At least the following properties supported in all C locales are as follows:

string passed to wctype() functionDescription
"alnum" alphanumerical character iswalnum()
"alpha" letter character iswalpha()
"blank" blank character iswblank() (C++11)
"cntrl" control character iswcntrl()
"digit" decimal digit character iswdigit()
"graph" character with graphical representation iswgraph()
"lower" lowercase letter character iswlower()
"print" printable character iswprint()
"punct" punctuation character iswpunct()
"space" white-space character iswspace()
"upper" uppercase letter character iswupper()
"xdigit" hexadecimal digit character iswxdigit()

Syntax

int iswctype(wint_t wc, wctype_t desc);          

Parameters

wc Specify the wide character to be checked, casted to a wint_t value, or WEOF.
desc Specify a LC_CTYPE category, obtained from a call to wctype().

Return Value

Returns a non-zero value if the character wc has the property identified by desc, zero otherwise.

Example:

The example below shows the usage of iswctype() function.

#include <cstdio>
#include <cwchar>
#include <cwctype>
 
int main (){
  int i = 0;
  wchar_t str[50] = L"99HEllo@";
  wchar_t c;

  //displaying the alphabetic 
  //character in lower case
  wctype_t check = wctype("alpha");
  wctrans_t trans = wctrans("tolower");
  while (str[i]) {
    c = str[i];
    if (iswctype(c, check)) {
      c = towctrans(c, trans);
      putwchar (c);      
    }
    i++;
  }
  return 0;
}

The output of the above code will be:

hello

❮ C++ <cwctype> Library