IsDBCSLeadByte 函数 (winnls.h)
确定指定字符是否是系统默认 Windows ANSI 代码页的前导字节, (CP_ACP) 。 前导字节是代码页的 DBCS) (双字节字符集中的双字节字符 的第一个字节。
注意 若要使用不同的代码页,应用程序应使用 IsDBCSLeadByteEx 函数。
语法
BOOL IsDBCSLeadByte(
[in] BYTE TestChar
);
参数
[in] TestChar
要测试的字符。
返回值
如果测试字符可能是前导字节,则返回非零值。 如果测试字符不是前导字节,或者它是单字节字符,则函数返回 0。 若要获取扩展错误信息,应用程序可以调用 GetLastError。
注解
注意 此函数不验证跟踪字节是否存在或有效性。 因此, MultiByteToWideChar 可能无法识别使用 IsDBCSLeadByte 的应用程序报告为前导字节的序列。 应用程序很容易与 MultiByteToWideChar 的结果不同步,这可能会导致意外错误或缓冲区大小不匹配。
前导字节值特定于每个不同的 DBCS。 某些字节值可以同时作为 DBCS 字符的前导字节和尾随字节显示在单个代码页中。
为了理解 DBCS 字符串,应用程序通常从字符串的开头开始,向前扫描,跟踪它何时遇到前导字节,并将下一个字节视为同一字符的尾随部分。 如果应用程序必须备份,则应使用 CharPrev ,而不是尝试开发自己的算法。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 专业版 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows 2000 Server [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | winnls.h (包括 Windows.h) |
Library | Kernel32.lib |
DLL | Kernel32.dll |