确定字符是图形字符、显示字符、标点字符还是空格字符。

重要

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

语法

int _ismbcgraph(
   unsigned int c
);
int _ismbcgraph_l(
   unsigned int c,
   _locale_t locale
);
int _ismbcprint(
   unsigned int c
);
int _ismbcprint_l(
   unsigned int c,
   _locale_t locale
);
int _ismbcpunct(
   unsigned int c
);
int _ismbcpunct_l(
   unsigned int c,
   _locale_t locale
);
int _ismbcblank(
   unsigned int c
);
int _ismbcblank_l(
   unsigned int c,
   _locale_t locale
);
int _ismbcspace(
   unsigned int c
);
int _ismbcspace_l(
   unsigned int c,
   _locale_t locale
);

参数

c
要确定的字符。

locale
要使用的区域设置。

返回值

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

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

备注

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

例程 测试条件 代码页 932 示例
_ismbcgraph Graphic 当且仅当 c 是除空格之外的任何 ASCII 或片假名可打印字符的单字节表示形式时返回非零值。
_ismbcprint 可打印 当且仅当 c 是包括空格的任何 ASCII 或片假名可打印字符的单字节表示形式时返回非零值。
_ismbcpunct 标点 当且仅当 c 是任何 ASCII 或片假名标点字符的单字节表示形式时返回非零值。
_ismbcblank 空格或水平制表符 当且仅当 c 是空格字符或水平制表符 c=0x20 或 c=0x09 时返回非零值。
_ismbcspace 空格 当且仅当 c 是空白字符 c=0x20 或 0x09<=c<=0x0D 时返回非零值。

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

要求

例程 必需的标头
_ismbcgraph <mbstring.h>
_ismbcgraph_l <mbstring.h>
_ismbcprint <mbstring.h>
_ismbcprint_l <mbstring.h>
_ismbcpunct <mbstring.h>
_ismbcpunct_l <mbstring.h>
_ismbcblank <mbstring.h>
_ismbcblank_l <mbstring.h>
_ismbcspace <mbstring.h>
_ismbcspace_l <mbstring.h>

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

C 运行时库的所有版本。

另请参阅

字符分类
区域设置
多字节字符序列的解释
_ismbc 例程
is, isw 例程
_ismbb 例程