函数
<cwctype>

iswctype

int iswctype(wint_t c, wctype_t desc);
检查宽字符是否具有指定属性
检查 c 是否具有 desc 指定的属性。

某个特定的区域设置可以接受多种分类字符的类别。至少以下类别被所有区域设置识别:

传递给 wctype 的字符串描述等效函数
"alnum"字母数字字符iswalnum
"alpha"字母字符iswalpha
"blank"空白字符iswblank
"cntrl"控制字符iswcntrl
"digit"十进制数字字符iswdigit
"graph"具有图形表示的字符iswgraph
"lower"小写字母字符iswlower
"print"可打印字符iswprint
"punct"标点字符iswpunct
"space"空白字符iswspace
"upper"大写字母字符iswupper
"xdigit"十六进制数字字符iswxdigit

在调用该函数时,LC_CTYPE locale 类别设置应与调用 wctype 以获取 desc 时的设置相同。

参数

c
要检查的宽字符,强制转换为wint_t类型,或WEOF.
wint_t 是一个整数类型。
desc
由调用 wctype 返回的值(与本次调用具有相同的 locale 类别设置)。LC_CTYPE locale 类别设置应与调用 wctype 以获取 desc 时的设置相同。
wctype_t 是用作 wctype 返回类型的标量类型。

返回值

如果 c 确实是空白字符,则返回一个非零值(即true) 如果 c 确实具有 desc 标识的属性,则返回非零值(即false)。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/* iswctype example */
#include <stdio.h>
#include <wctype.h>
int main ()
{
  int i=0;
  wchar_t str[] = L"Test String.\n";
  wchar_t c;
  wctype_t check = wctype("lower");
  wctrans_t trans = wctrans("toupper");
  while (str[i])
  {
    c = str[i];
    if (iswctype(c,check)) c = towctrans(c,trans);
    putwchar (c);
    i++;
  }
  return 0;
}

输出
TEST STRING.


另见