Indicates if a wide character has a specified property.
#include <wctype.h> (ISO C) #include <wchar.h> (XPG4) int iswctype (wint_t wc, wctype_t wc_prop);
See also wctype in this section.
| nonzero | If the character has the property wc_prop. |
| 0 | If the character does not have the property wc_ prop. |
#include <locale.h>
#include <wchar.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
/* This test will set up the "upper" character class using wctype() */
/* and then verify whether the character 'a' and 'A' are */
/* members of this class */
#include <stdlib.h>
main()
{
wchar_t w_char1, w_char2;
wctype_t ret_val;
char *char1 = "a";
char *char2 = "A";
ret_val = wctype("upper");
/* Convert char1 to wide-character format - w_char1 */
if (mbtowc(&w_char1, char1, 1) == -1)
{
perror("mbtowc");
exit(EXIT_FAILURE);
}
if (iswctype((wint_t)w_char1, ret_val))
printf("[%C] is a member of the character class upper\n",w_char1);
else
printf("[%C] is not a member of the character class upper\n",w_char1);
/* Convert char2 to wide-character format - w_char2 */
if (mbtowc(&w_char2, char2, 1) == -1)
{
perror("mbtowc");
exit(EXIT_FAILURE);
}
if (iswctype((wint_t)w_char2, ret_val))
printf("[%C] is a member of the character class upper\n",w_char2);
else
printf("[%C] is not a member of the character class upper\n",w_char2);
}
Running the example program produces the following result:
[a] is not a member of the character class upper [A] is a member of the character class upper