_setmbcp

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

構文

int _setmbcp(
   int codepage
);

パラメーター

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

戻り値

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

解説

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

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

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

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

  • _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