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