_ismbslead, _ismbstrail, _ismbslead_l, _ismbstrail_l
执行上下文相关测试多字节字符字符串前导字节和尾字节并确定特定子字符串指针是否指向前导字节还是尾字节。
重要
此 API 不能在 Windows 运行时执行的应用程序。有关更多信息,请参见 CRT 函数不支持与 /ZW。
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> 或 <mbstring.h> |
<ctype.h>,* <limits.h>,<stdlib.h> |
_ismbstrail |
<mbctype.h> 或 <mbstring.h> |
<ctype.h>,* <limits.h>,<stdlib.h> |
_ismbslead_l |
<mbctype.h> 或 <mbstring.h> |
<ctype.h>,* <limits.h>,<stdlib.h> |
_ismbstrail_l |
<mbctype.h> 或 <mbstring.h> |
<ctype.h>,* <limits.h>,<stdlib.h> |
*到测试条件的清单常数。
有关更多兼容性信息,请参见 兼容性。
.NET Framework 等效项
不适用。若要调用标准 C 函数,请使用 PInvoke。有关更多信息,请参见平台调用示例。