_setmbcp
新しいマルチバイト コード ページを設定します。
int _setmbcp(
int codepage
);
パラメーター
- codepage
ロケールに依存しないマルチバイト ルーチンの新しいコード ページの設定。
戻り値
コード ページが正常に設定されている場合は 0 を返します。無効なコード ページの値が codepage に指定されている場合は – 1 とコード ページの設定は変更されません。メモリの割り当てエラーが発生 EINVAL に errno を設定します。
解説
_setmbcp の関数は新しいマルチバイト コード ページを指定します。既定ではランタイム システムはシステムの既定の ANSI コード ページに自動的にマルチバイトのコード ページを設定します。マルチバイト コード ページの設定はロケールに依存しないすべてのマルチバイトのルーチンに影響します。ただし定義されている現在のロケールのコード ページを使用するように _setmbcp に指示することも可能です (マニフェスト定数および関連の動作の影響の一覧を参照してください)。マルチバイト コード ページではなくロケールのコード ページに依存するマルチバイト ルーチンの一覧についてはマルチバイト文字列の解釈 を参照してください。
マルチバイト コード ページでは次のランタイム ライブラリ ルーチンによる処理中のマルチバイト文字列に影響します :
またパラメーターがマルチバイト コード ページに従って _exec_spawn ファミリ (やなど) これらの文字列を操作するときマルチバイト文字 argv または envp のプログラム引数を受け取るすべてのランタイム ライブラリ ルーチン。したがってこれらのルーチンはマルチバイト コード ページを変更する _setmbcp の呼び出しに影響されます。
codepage の引数は次の値のいずれかに設定できます :
プログラムの起動時にオペレーティング システムから派生した _MB_CP_ANSI の ANSI コード ページ。
を使用 _MB_CP_LOCALE 前のの呼び出しから取得 setlocale 現在のロケールのコード ページ。
プログラムの起動時にオペレーティング システムから派生したを使用 _MB_CP_OEMOEM コード ページ。
_MB_CP_SBCS のバイト コード ページ。コード ページを _MB_CP_SBCS に設定すると_ismbblead のようなルーチンが常に false を返します。
ANSI 値はOEMまたはその操作システム サポートされているコード ページであるかどうかを他の有効なコード ページの値に関係なくサポートされていない () と UTF-7UTF-8 を除外する。
必要条件
ルーチン |
必須ヘッダー |
---|---|
_setmbcp |
<mbctype.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。