检查多字节字符是合法字符还是符号字符。

重要

此 API 不能用于在 Windows 运行时中执行的应用程序。 有关详细信息,请参阅通用 Windows 平台应用中不支持的 CRT 函数

语法

int _ismbclegal(
   unsigned int c
);
int _ismbclegal_l(
   unsigned int c,
   _locale_t locale
);
int _ismbcsymbol(
   unsigned int c
);
int _ismbcsymbol_l(
   unsigned int c,
   _locale_t locale
);

参数

c
要测试的字符。

locale
要使用的区域设置。

返回值

如果字符满足测试条件,则每个例程都会返回非零值。 否则将返回 0。 如果 c<= 255,并且有相应的 _ismbb 例程(例如,_ismbcalnum 对应于 _ismbbalnum),则结果是相应的 _ismbb 例程的返回值。

备注

其中每个函数都针对给定的条件测试给定的多字节字符。

这些带有 _l 后缀的函数的版本相同,只不过它们使用传递区域设置而不是其与区域设置相关的行为的当前区域设置。 有关详细信息,请参阅 Locale

例程 测试条件 代码页 932 示例
_ismbclegal 有效多字节 当且仅当 c 的第一个字节在 0x81 - 0x9F 或 0xE0 - 0xFC 范围内,同时第二个字节在 0x40 - 0x7E 或 0x80 - FC 范围内时返回非零值。
_ismbcsymbol 多字节字符 当且仅当 0x8141<=c<=0x81AC 时返回非零值。

默认情况下,此函数的全局状态范围限定为应用程序。 若要更改此行为,请参阅 CRT 中的全局状态

一般文本例程映射

Tchar.h 例程 _UNICODE_MBCS 未定义 _MBCS 已定义 _UNICODE 已定义
_istlegal 始终返回 false _ismbclegal 始终返回 false。
_istlegal_l 始终返回 false _ismbclegal_l 始终返回 false。

要求

例程 必需的标头
%> <mbstring.h>
%> <mbstring.h>

有关兼容性的详细信息,请参阅 兼容性

另请参阅

字符分类
_ismbc 例程
is, isw 例程
_ismbb 例程