iswctype - Determine the properties of a wide character
#include <wctype.h>
int iswctype(
wint_t wc,
wctype_t wc_prop );
The XPG4 standard specifies that applications define this
function by including wchar.h rather than wctype.h, which
is required by the current version of the ISO C standard.
Both include statements are supported.
Standard C Library (libc)
Interfaces documented on this reference page conform to
industry standards as follows:
iswctype(): ISO C, XPG4
Refer to the standards(5) reference page for more information
about industry standards and associated tags.
Specifies the wide character to be tested. Specifies a
handle for a valid wide character property name as defined
in the current locale.
The iswctype() function tests the wide character specified
by the wc parameter to determine if it has the property
specified by the wc_prop parameter. The wctype() function
associates a character property with a wctype_t handle.
You should get the value of the wc_prop parameter from a
call to wctype() before using it in a call to iswctype().
The iswctype() function is defined for the wide-character
null and for values in the character range of the current
code set defined in the current locale.
Using an iswclass function, such as iswalnum(), is equivalent
to using the iswctype() and wctype() functions to
test for a basic property, such as alnum. However, iswctype()
and wctype() can test wide characters against any
class defined in a locale; the functions are not limited
to testing for basic properties.
If the wc parameter has the property specified by the
wc_prop parameter, the iswctype() function returns a
nonzero value. If the value specified by the wc parameter
does not have the property specified by the wc_prop parameter,
the iswctype() function returns a value of 0 (zero).
If the value specified by the wc parameter is not in the
function's domain, the result is undefined. If the value
specified by the wc_prop parameter is not valid, the
result is undefined. The value of the wc_prop parameter
can be invalid because it was not obtained by a call to
the wctype() function. The wc_prop value can also be
invalidated by an intervening call to the setlocale()
function that has affected the LC_CTYPE environment variable.
If the input value (wc) is not in the range of wide characters
defined by the current locale, the result is undefined.
To check the range of input values, compile applications
with standard compile options such as
-DOPEN_SOURCE. If the application compiles with any of the
standard compile options, the interfaces documented in
this reference page resolve as functions, which perform
internal range checking. A default compilation (that is,
no standard compile options specified) results in resolution
of the interfaces as macros, which do not perform
internal range checking.
The following example tests to determine if a wide character
belongs to the class of blank characters as defined
for the current locale. In this case, the required call
to wctype() is included directly as the wc_prop parameter:
iswctype(wc, wctype("blank")); The following example
tests to determine if a wide character is an
uppercase character as defined by the current
locale. In this case, the required call to wctype()
is specified through a handle:
int yes_or_no; wint_t wc; wctype_t property_test;
.
.
. property_test=wctype("upper"); yes_or_no=iswctype(wc,property_test);
Functions: ctype(3), towctrans(3), wctrans(3), wctype(3),
setlocale(3), iswalnum(3)
iswctype(3)
[ Back ] |