📜  C C++中的iswprint()及其示例(1)

📅  最后修改于: 2023-12-03 14:39:37.166000             🧑  作者: Mango

C/C++中的iswprint()函数及其示例

简介

iswprint()函数是C/C++中的一个用于判断一个宽字符是否为可打印字符的函数,其定义如下:

int iswprint(wint_t wc);

函数参数类型为wint_t,即宽字符类型,函数返回值为整型int类型,表示该宽字符是否为可打印字符,如果是,则返回非零值(通常为1),否则返回零。

iswprint()函数在头文件<wctype.h>中声明,在头文件中定义。

示例

下面给出几个示例来演示iswprint()函数的用法。

示例1:
#include <wctype.h> 
#include <locale.h> 
#include <stdio.h> 
#include <wchar.h> 

int main() 
{ 
    setlocale(LC_ALL, "");  // 设置本地化环境 

    const wchar_t *wcs = L"Hello, 世界!"; //一个宽字符字符串

    for (size_t i = 0; wcs[i] != L'\0'; i++) {
        wint_t wc = wcs[i]; //取出该宽字符
        if (iswprint(wc)) { //判断是否为可打印字符
            printf("%lc是可打印字符\n", wc);
        } else {
            printf("%lc是不可打印字符\n", wc);
        }
    }

    return 0; 
}

输出如下:

H是可打印字符
e是可打印字符
l是可打印字符
l是可打印字符
o是可打印字符
,是可打印字符
是可打印字符
世是可打印字符
界是可打印字符
!是可打印字符
示例2:
#include <wctype.h> 
#include <locale.h> 
#include <stdio.h> 
#include <wchar.h> 

int main() 
{ 
    setlocale(LC_ALL, "");  // 设置本地化环境 

    wint_t wc = L'\t'; //一个制表符
    if (iswprint(wc)) { //判断是否为可打印字符
        printf("%lc是可打印字符\n", wc);
    } else {
        printf("%lc是不可打印字符\n", wc);
    }

    return 0; 
}

输出如下:

	是不可打印字符

从输出结果可以看出,制表符不属于可打印字符。

总结

iswprint()函数是C/C++中用于判断宽字符是否为可打印字符的函数,可以判断常见的ASCII码字符以及Unicode字符,使用方便,但需要注意一些细节问题,如本地化环境等。