_setmbcp

将新的多字节代码页。

int _setmbcp(
   int codepage 
);

参数

  • codepage
    区域设置无关多字节实例的新代码页设置。

返回值

,如果代码页成功,将返回 0。 如果一个无效的代码页值为 codepage发送,返回 – 1 和代码页设置保持不变。 ,如果内存分配失败,将 errno 到 EINVAL 。

备注

_setmbcp 功能指定新的多字节代码页。 默认情况下,运行时系统会自动设置多字节代码页对系统默认 ANSI 代码页。 多字节代码页设置影响而不是区域设置依赖项的所有多字节实例。 但是,可能会指示 _setmbcp 为当前区域设置使用定义的代码页 (请参见下面的列表清单常数和关联的行为结果)。 有关依赖于区域设置代码页 (而不是多字节代码页多字节的实例的列表,请参见 多字节字符序列的说明

多字节代码页还会影响过程由以下运行库实例的多字节字符:

_exec 功能

_mktemp

_stat

_fullpath

_spawn 功能

_tempnam

_makepath

_splitpath

tmpnam

此外,接收多字节字符 argv 或 envp 程序参数的所有运行库的实例,将参数 (例如 _exec 和 _spawn 系列) 基于多字节代码页处理这些字符串。 因此,这些实例受更改多字节代码页中 _setmbcp 进行的调用也会影响。

codepage 参数可设置为以下任一值:

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

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

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

  • _MB_CP_SBCS 使用单字节代码页。 当代码页设置为 _MB_CP_SBCS时,一个实例例如 _ismbblead 始终返回 false。

  • 其他活动代码页值,无论该值是否为 ANSI、 OEM,或其他运行系统支持的代码页 (除 UTF-7、 UTF-8,不支持)。

要求

实例

必需的头

_setmbcp

mbctype.h

有关更多兼容性信息,请参见中介绍的 兼容性

请参见

参考

_getmbcp

setlocale, _wsetlocale