_setmbcp
设置新的多字节代码页。
int _setmbcp(
int codepage
);
参数
- codepage
区域设置无关多例程的新代码页中。
返回值
页代码如果设置成功,将返回 0。 如果无效代码页值为 codepage,返回 -1 提供和代码页设置保持不变。 如果内存分配失败,将 errno 设置为 EINVAL。
备注
_setmbcp 函数被指定新的多字节代码页。 默认情况下,运行时系统自动设置多字节代码页为系统默认 ANSI 代码页。 多字节代码页设置影响不是区域设置相关的所有多字节例程。 但是,可能会指示 _setmbcp 在当前区域设置代码页 (请参见使用定义的清单常数和相关行为结果如下列表)。 有关依赖于区域设置代码页而非多字节代码页多实例的列表,请参见 Multibyte 字符序列的说明。
多字节代码页也影响处理受以下类型库运行库程序的多字节字符:
此外,多字节字符程序接收 argv 或 envp 参数的任何运行库程序类型库,当参数 (如 _exec 和 _spawn 函数系列) 根据多字节代码页处理这些字符串。 因此,这些例程受更改多字节代码页为 _setmbcp 调用的也会影响。
可以将 codepage 自变量设置为以下任何一个值。
_MB_CP_ANSI 使用从操作系统获得的 ANSI 代码页在程序启动。
_MB_CP_LOCALE 使用上一调用获取的当前区域设置的代码页 setlocale.
_MB_CP_OEM 使用从操作系统获得的 OEM 代码页在程序启动。
_MB_CP_SBCS 使用单字节代码页。 在代码页设置为 _MB_CP_SBCS,则一例程 (如 _ismbblead 始终返回 false。
其他有效的代码页的值,无论值是 OEM 或 ANSI、,其他运行系统支持的代码页 (UTF-7、UTF-8,不支持。)
要求
例程 |
必需的标头 |
---|---|
_setmbcp |
<mbctype.h> |
有关更多兼容性信息,请参见“简介”中的兼容性。