_setmbcp

新しいマルチバイト コード ページを設定します。

構文

int _setmbcp(
   int codepage
);

パラメーター

codepage
ロケールに依存しないマルチバイトのルーチンのための新しいコード ページ設定。

戻り値

コード ページが正常に設定されている場合は、0 を返します。 codepageに無効なコード ページ値が指定されている場合は、-1 が返され、コード ページの設定は変更されません。 メモリ割り当ての失敗が発生した場合には、errnoEINVAL に設定します。

解説

_setmbcp 関数は新しいマルチバイト コード ページを指定します。 既定では、ランタイム システムはマルチバイト コード ページを、システムの既定の ANSI コード ページに自動的に設定します。 マルチバイト コード ページの設定は、ロケールに依存しないすべてのマルチバイト ルーチンに影響します。 ただし、現在のロケールに対して定義されているコード ページを使用するように _setmbcp に指示することもできます (マニフェスト定数と関連する動作結果の次の一覧を参照してください)。 マルチバイト コード ページではなくロケール コード ページに依存するマルチバイト ルーチンの一覧については、「 マルチバイト文字シーケンスの解釈を参照してください。

codepage 引数は、次の値のいずれかに設定できます。

  • _MB_CP_ANSI プログラムの起動時にオペレーティング システムから取得した ANSI コード ページを使用します。

  • _MB_CP_LOCALEsetlocaleの前の呼び出しから取得した現在のロケールのコード ページを使用します。

  • _MB_CP_OEM プログラムの起動時にオペレーティング システムから取得した OEM コード ページを使用します。

  • _MB_CP_SBCS 1 バイト コード ページを使用します。 コード ページが _MB_CP_SBCSに設定されている場合、 _ismbblead などのルーチンは常に false を返します。

  • _MB_CP_UTF8 UTF-8 を使用します。 コード ページが _MB_CP_UTF8に設定されている場合、 _ismbblead などのルーチンは常に false を返します。

  • 値が ANSI、OEM、またはその他のオペレーティング システムでサポートされているコード ページ (サポートされていない UTF-7 を除く) のいずれであるかに関係なく、その他の有効なコード ページ値。

既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「CRT でのグローバル状態」を参照してください。

要件

ルーチンによって返される値 必須ヘッダー
_setmbcp <mbctype.h>

互換性の詳細については、「 Compatibility」を参照してください。

関連項目

_getmbcp
setlocale, _wsetlocale