_ismbslead、_ismbstrail、_ismbslead_l、_ismbstrail_l
执行多字节字符串前导字节和尾字节的上下文相关测试并确定特定子字符串指针是否指向前导字节或尾字节。
重要
此 API 不能用于在 Windows 运行时 中执行的应用程序。有关更多信息,请参见不支持 /ZW 的 CRT 函数。
int _ismbslead(
const unsigned char *str,
const unsigned char *current
);
int _ismbstrail(
const unsigned char *str,
const unsigned char *current
);
int _ismbslead_l(
const unsigned char *str,
const unsigned char *current,
_locale_t locale
);
int _ismbstrail_l(
const unsigned char *str,
const unsigned char *current,
_locale_t locale
);
参数
str
指向字符串的开始或先前已知的前导字节的指针current
指针移到要测试的字符串中的位置locale
要使用的区域设置。
返回值
如果字符是前导字节则_ismbslead 返回-1,如果字符为尾字节则 _ismbstrail 返回-1。 如果输入字符串有效,但不是前导字节也不是尾字节,这些函数返回零。 如果参数为NULL,将调用无效参数处理程序,如参数验证所述。 如果允许执行继续,则这些函数返回 NULL 并将 errno 设置为 EINVAL。
备注
因为它们考虑字符串上下文,_ismbslead 和 _ismbstrail 比 _ismbblead 和 _ismbbtrail 生成速度慢。
这些带有 _l 后缀的函数的版本相同,不同之处对于他们的本地行为使用传递的区域设置,而不是当前的区域设置 有关详细信息,请参阅区域设置。
要求
例程 |
必需的标头 |
可选标头 |
---|---|---|
_ismbslead |
<mbctype.h> or <mbstring.h> |
<ctype.h>,* <limits.h>, <stdlib.h> |
_ismbstrail |
<mbctype.h> or <mbstring.h> |
<ctype.h>,* <limits.h>, <stdlib.h> |
_ismbslead_l |
<mbctype.h> or <mbstring.h> |
<ctype.h>,* <limits.h>, <stdlib.h> |
_ismbstrail_l |
<mbctype.h> or <mbstring.h> |
<ctype.h>,* <limits.h>, <stdlib.h> |
*到测试条件的清单常数。
有关更多兼容性信息,请参见兼容性。
.NET Framework 等效项
不适用。若要调用标准 C 函数,请使用 PInvoke。有关详细信息,请参阅平台调用示例。