在日本行业标准 (JIS) 和日本 Microsoft (JMS) 字符之间转换。
重要
此 API 不能用于在 Windows 运行时中执行的应用程序。 有关详细信息,请参阅通用 Windows 平台应用中不支持的 CRT 函数。
语法
unsigned int _mbcjistojms(
unsigned int c
);
unsigned int _mbcjistojms_l(
unsigned int c,
_locale_t locale
);
unsigned int _mbcjmstojis(
unsigned int c
);
unsigned int _mbcjmstojis_l(
unsigned int c,
_locale_t locale
);
参数
c
要转换的字符。
locale
要使用的区域设置。
返回值
在日文区域设置中,这些函数将返回经转换的字符或者在转换不可用时返回 0。 在非日文区域设置中,这些函数将返回传入的字符。
注解
_mbcjistojms
函数将日本行业标准 (JIS) 字符转换为 Microsoft 日文汉字(转义 JIS)字符。 仅在前导字节和结尾字节处于 0x21 到 0x7E 范围内时转换字符。 如果前导字节或结尾字节超出此范围,则将 errno
设置为 EILSEQ
。 有关此错误代码和其他错误代码的详细信息,请参阅 errno
、_doserrno
、_sys_errlist
和 _sys_nerr
。
_mbcjmstojis
函数将 Shift JIS 字符转换为 JIS 字符。 仅当前导字节处于 0x81 到 0x9F 或 0xE0 到 0xFC 范围内且结尾字节处于 0x40 到 0x7E 或 0x80 到 0xFC 范围内时转换字符。 该范围内的某些码位未分配字符,因此无法进行转换。
值 c
应为 16 位值,其中,较高的 8 位表示要转换的字符的前导字节,较低的 8 位表示结尾字节。
输出值受区域设置的 LC_CTYPE
类别设置的影响。 有关详细信息,请参阅 setlocale
。 这些不带 _l
后缀的函数的版本使用为该区域设置相关的行为的当前区域设置;带有 _l
后缀的版本相同,只不过它们使用传递的区域设置参数。 有关详细信息,请参阅 Locale。
在早期版本中,_mbcjistojms
和 _mbcjmstojis
分别称为 jistojms
和 jmstojis
。 应改为使用 _mbcjistojms
、_mbcjistojms_l
、_mbcjmstojis
和 _mbcjmstojis_l
。
默认情况下,此函数的全局状态范围限定为应用程序。 若要更改此行为,请参阅 CRT 中的全局状态。
要求
例程 | 必需的标头 |
---|---|
_mbcjistojms |
<mbstring.h> |
_mbcjistojms_l |
<mbstring.h> |
_mbcjmstojis |
<mbstring.h> |
_mbcjmstojis_l |
<mbstring.h> |
有关兼容性的详细信息,请参阅 兼容性。