在日本行业标准 (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 分别称为 jistojmsjmstojis。 应改为使用 _mbcjistojms_mbcjistojms_l_mbcjmstojis_mbcjmstojis_l

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

要求

例程 必需的标头
_mbcjistojms <mbstring.h>
_mbcjistojms_l <mbstring.h>
_mbcjmstojis <mbstring.h>
_mbcjmstojis_l <mbstring.h>

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

另请参阅

数据转换
_ismbb 例程