_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 時,例如 一律會傳回 false 的 _ismbblead 常式。

  • _MB_CP_UTF8 使用 UTF-8。 當字碼頁設定為 _MB_CP_UTF8 時,例如 一律會傳回 false 的 _ismbblead 常式。

  • 任何其他有效的字碼頁值,不論此值是否為 ANSI、OEM 或其他作業系統支援的字碼頁(UTF-7 除外,不支援)。

根據預設,此函式的全域狀態會限定于應用程式。 若要變更此行為,請參閱 CRT 中的全域狀態。

需求

常式 必要的標頭
_setmbcp <mbctype.h>

如需相容性詳細資訊,請參閱相容性

另請參閱

_getmbcp
setlocale, _wsetlocale