当前位置: C语言 -- 标准库 -- <wctype.h> -- iswctype

iswctype函数


概要:
#include <wctype.h>
int iswctype(wint_t wc, wctype_t desc);

描述:

该函数检查参数wc是否具有参数desc所描述的属性。

调用iswctype函数时,语言环境的LC_CTYPE类别应与调用wctype函数(该函数返回参数desc的值。)时相同。

以下表达式与调用注释中对应的宽字符分类函数是等价的,具体对应关系如下:

        iswctype(wc, wctype("alnum"))    // iswalnum(wc)
        iswctype(wc, wctype("alpha"))    // iswalpha(wc)
        iswctype(wc, wctype("blank"))    // iswblank(wc)
        iswctype(wc, wctype("cntrl"))    // iswcntrl(wc)
        iswctype(wc, wctype("digit"))    // iswdigit(wc)
        iswctype(wc, wctype("graph"))    // iswgraph(wc)
        iswctype(wc, wctype("lower"))    // iswlower(wc)
        iswctype(wc, wctype("print"))    // iswprint(wc)
        iswctype(wc, wctype("punct"))    // iswpunct(wc)
        iswctype(wc, wctype("space"))    // iswspace(wc)
        iswctype(wc, wctype("upper"))    // iswupper(wc)
        iswctype(wc, wctype("xdigit"))   // iswxdigit(wc)

参数:
wint_t wc

参数wc为一个wint_t类型整数,其值可用wchar_t类型表示或者等于宏WEOF。如果参数wc具有其它值,函数行为是未定义的。

wctype_t desc

参数desc为调用wctype函数的返回值。


返回值:

如果参数wc具有参数desc描述的属性,函数返回非0值(即true);否则函数返回0(即false)。

如果参数desc值为0,函数返回0(即false)。


范例:
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
/*函数iswctype范例*/

#include <locale.h>
#include <wchar.h>
#include <wctype.h>

int main(void)
{
    setlocale(LC_ALL, "");

    int i = 0;
    int count = 0;    //计数器,统计字母数量。
    const wchar_t wStr[] = L"中国(China)";

    while(wStr[i])
    {
        if(iswctype(wStr[i], wctype("alpha")))
            ++count;
        ++i;
    }

    wprintf(L"count = %d\n", count);

    return 0;
}

输出:

count = 7


相关内容:
wctype 构造当前环境宽字符分类类别的函数。