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

iswpunct函数


概要:
#include <wctype.h>
int iswpunct(wint_t wc);

描述:

该函数用于检查打印宽字符是否为特定语言环境标点宽字符集(set of punctuation wide characters)成员。标点宽字符的iswspaceiswalnum函数返回值均为false

iswgraph函数、iswpunct函数与isgraph函数、ispunct函数对除' '外既是打印字符,又是空格字符的单字节执行字符的行为可能会有所不同。


参数:
wint_t wc

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


返回值:

如果参数wc是标点宽字符,函数返回非0值(即true);反之,如果参数wc不是标点宽字符,函数返回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 
/*函数iswpunct范例*/

#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"爸爸说:“要好好学习。” 妈妈说:“要注意身体。”";

    while(wStr[i])
    {
        if(iswpunct(wStr[i]))
            ++count;
        ++i;
    }

    wprintf(L"共%d个标点宽字符。", count);

    return 0;
}

输出:

共8个标点宽字符。


相关内容:
iswprint 检查宽字符是否为打印宽字符的函数。
iswgraph 检查宽字符是否为打印宽字符(空格宽字符除外)的函数。
iswcntrl 检查宽字符是否为控制宽字符的函数。