C 库 - iswctype() 函数
C wctype 库中的 iswctype() 函数用于检查给定的宽字符是否具有特定属性,例如字母、数字、字母数字、可打印字符、图形字符等。
语法
以下是 iswctype() 函数的 C 库语法 -
int iswctype( wint_t wc, wctype_t desc );
参数
此函数接受以下参数 -
-
wc - 待检查的宽字符类型为"wint_t"。
-
desc - 待检查的宽字符类型为"wint_t"的描述符,用于指定要检查 wc 的字符类。通过调用"wctype()"获取。
返回值
如果 wc(宽字符)具有"desc"指定的属性,则此函数返回非零值,否则返回零。
示例
以下是演示 iswctype() 用法的基本 C 程序。
#include <wchar.h>
#include <wctype.h>
#include <stdio.h>
int main() {
// 待检查的宽字符
wchar_t wc = L'A';
// 字母字符描述符
wctype_t desc = wctype("alpha");
if (iswctype(wc, desc)) {
wprintf(L"%lc is an alphabetic character.
", wc);
} else {
wprintf(L"%lc is not an alphabetic character.
", wc);
}
return 0;
}
输出
以下是输出 -
A is an alphabetic character.
示例 1
让我们创建另一个 C 语言示例,并使用 iswctype() 函数检查宽字符是否为字母数字字符。
#include <wchar.h>
#include <wctype.h>
#include <stdio.h>
int main() {
// 要检查的宽字符串
wchar_t str[] = L"Tutorialspoint 500081";
// 字母数字字符的描述符
wctype_t desc = wctype("alnum");
// 循环遍历字符串中的每个字符
for (size_t i = 0; str[i] != L'\0'; ++i) {
// 检查字符是否为字母数字
if (iswctype(str[i], desc)) {
wprintf(L"%lc 是字母数字字符。
", str[i]);
} else {
wprintf(L"%lc 不是字母数字字符。
", str[i]);
}
}
return 0;
}
输出
以下是输出 -
T 是字母数字字符。 u 是字母数字字符。 t 是字母数字字符。 o 是字母数字字符。 r 是字母数字字符。 i 是字母数字字符。 a 是字母数字字符。 l 是字母数字字符。 s 是字母数字字符。 p 是字母数字字符。 o 是字母数字字符。 i 是字母数字字符。 n 是字母数字字符。 t 是字母数字字符。 不是字母数字字符。 5 是字母数字字符。 0 是字母数字字符。 0 是字母数字字符。 0 是字母数字字符。 8 是字母数字字符。 1 是字母数字字符。
示例 2
以下示例检查宽字符 wc 是否为标点符号并打印。
#include <wchar.h>
#include <wctype.h>
#include <stdio.h>
int main()
{
wchar_t wc = L'#';
// 检查字符是否为标点符号
if (iswctype(wc, wctype("punct")))
wprintf(L"%lc is a punctuation
", wc);
else
wprintf(L"%lc is not a punctuation
", wc);
return 0;
}
输出
以下是输出 -
# is a punctuation

