_setmbcp

设置新的多字节代码页。

语法

int _setmbcp(
   int codepage
);

参数

codepage
独立于区域设置的多字节例程的新代码页设置。

返回值

如果已成功设置代码页,则返回 0。 如果为 codepage 提供的代码页值无效,则返回 -1 且代码页设置保持不变。 如果无法分配内存,则将 errno 设置为 EINVAL

备注

_setmbcp 函数指定新的多字节代码页。 默认情况下,运行时系统将多字节代码页自动设置为系统默认的 ANSI 代码页。 多字节代码页设置将影响所有独立于区域设置的多字节例程。 但是,可能会指示 _setmbcp 使用为当前区域设置定义的代码页(请参阅以下清单常量和关联的行为结果的列表)。 有关依赖于区域设置代码页,而不是多字节代码页的多字节例程的列表,请参阅多字节字符序列解释

可以将 codepage 自变量设置为以下值之一:

  • _MB_CP_ANSI 使用在程序启动时从操作系统获取的 ANSI 代码页。

  • _MB_CP_LOCALE 使用从以前对 setlocale 的调用获取的当前区域设置的代码页。

  • _MB_CP_OEM 使用在程序启动时从操作系统获取的 OEM 代码页。

  • _MB_CP_SBCS 使用单字节代码页。 在将代码页设置为 _MB_CP_SBCS 时,如 _ismbblead 的例程始终返回 false。

  • _MB_CP_UTF8 使用 UTF-8。 在将代码页设置为 _MB_CP_UTF8 时,如 _ismbblead 的例程始终返回 false。

  • 任何其他有效的代码页值,而不考虑该值是否为 ANSI、OEM 或其他操作系统支持的代码页(除不受支持的 UTF-7 以外)。

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

要求

例程 必需的标头
_setmbcp <mbctype.h>

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

另请参阅

_getmbcp
setlocale_wsetlocale