iswctype
From cppreference.net
Null-terminated wide strings
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
定义于头文件
<wctype.h>
|
||
|
int
iswctype
(
wint_t wc, wctype_t desc
)
;
|
(C95 起) | |
使用由 desc 标识的当前C本地环境的 LC_CTYPE 类别对宽字符 wc 进行分类。
目录 |
参数
| wc | - | 待分类的宽字符 |
| desc | - | 通过调用 wctype 获得的 LC_CTYPE 分类 |
返回值
如果字符 wc 在当前 C 语言环境的 LC_CTYPE 分类中具有由 desc 标识的属性,则返回非零值,否则返回零。
示例
运行此代码
#include <locale.h> #include <stdio.h> #include <wchar.h> #include <wctype.h> const char* classify(wchar_t wc, const char* cat) { return iswctype(wc, wctype(cat)) ? "true" : "false"; } int main(void) { setlocale(LC_ALL, "ja_JP.UTF-8"); puts("The character \u6c34 is..."); const char* cats[] = {"digit", "alpha", "space", "cntrl", "jkanji"}; for (int n = 0; n < 5; ++n) printf("%s?\t%s\n", cats[n], classify(L'\u6c34', cats[n])); }
输出:
字符 水 是... digit? false alpha? true space? false cntrl? false jkanji? true
参考文献
- C23 标准 (ISO/IEC 9899:2024):
-
- 7.30.2.2.1 iswctype 函数 (p: TBD)
- C17 标准 (ISO/IEC 9899:2018):
-
- 7.30.2.2.1 iswctype 函数 (p: 待定)
- C11 标准 (ISO/IEC 9899:2011):
-
- 7.30.2.2.1 iswctype 函数 (p: 451-452)
- C99标准(ISO/IEC 9899:1999):
-
- 7.25.2.2.1 iswctype函数(页码:397-398)
参见
|
(C95)
|
在当前C本地环境中查找字符分类类别
(函数) |