_setmbcp_setmbcp

新しいマルチバイト コード ページを設定します。Sets a new multibyte code page.

構文Syntax

int _setmbcp(
   int codepage
);

パラメーターParameters

コード ページcodepage
ロケールに依存しないマルチバイトのルーチンのための新しいコード ページ設定。New code page setting for locale-independent multibyte routines.

戻り値Return Value

コード ページが正常に設定されている場合は、0 を返します。Returns 0 if the code page is set successfully. 無効なコード ページの値を指定した場合コードページ-1 とコード ページの設定は変更を返します。If an invalid code page value is supplied for codepage, returns -1 and the code page setting is unchanged. セットerrnoEINVALメモリ割り当ての失敗が発生した場合。Sets errno to EINVAL if a memory allocation failure occurs.

RemarksRemarks

_Setmbcp関数は新しいマルチバイト コード ページを指定します。The _setmbcp function specifies a new multibyte code page. 既定では、ランタイム システムはマルチバイト コード ページを、システムの既定の ANSI コード ページに自動的に設定します。By default, the run-time system automatically sets the multibyte code page to the system-default ANSI code page. マルチバイト コード ページの設定は、ロケールに依存していないすべてのマルチバイトのルーチンに影響します。The multibyte code page setting affects all multibyte routines that are not locale dependent. ただし、ように指示することは _setmbcp現在のロケールに対して定義されているコード ページを使用する (次のマニフェスト定数の一覧を参照してくださいし、動作の結果に関連付けられている)。However, it is possible to instruct _setmbcp to use the code page defined for the current locale (see the following list of manifest constants and associated behavior results). マルチバイト コード ページではなく、ロケールのコード ページに依存しているマルチバイトのルーチンの一覧については、「マルチバイト文字のシーケンスの解釈」を参照してください。For a list of the multibyte routines that are dependent on the locale code page rather than the multibyte code page, see Interpretation of Multibyte-Character Sequences.

マルチバイト コード ページは、次のランタイム ライブラリ ルーチンによる、マルチバイト文字の処理にも影響します。The multibyte code page also affects multibyte-character processing by the following run-time library routines:

_exec 関数_exec functions _mktemp_mktemp _stat_stat
_fullpath_fullpath _spawn 関数_spawn functions _tempnam_tempnam
_makepath_makepath _splitpath_splitpath tmpnamtmpnam

さらに、マルチバイト文字が表示されるすべてのランタイム ライブラリ ルーチンargvまたはenvpプログラム引数をパラメーターとして (など、 _exec_spawnファミリ) これらの文字列のマルチバイト コード ページに従って処理します。In addition, all run-time library routines that receive multibyte-character argv or envp program arguments as parameters (such as the _exec and _spawn families) process these strings according to the multibyte code page. そのため、これらのルーチンの呼び出しによって影響を受けるはも _setmbcpマルチバイト コード ページを変更します。Therefore, these routines are also affected by a call to _setmbcp that changes the multibyte code page.

コードページ引数は、次の値のいずれかに設定することができます。The codepage argument can be set to any of the following values:

  • _MB_CP_ANSI使用の ANSI コード ページは、プログラムの起動時にオペレーティング システムから取得します。_MB_CP_ANSI Use ANSI code page obtained from operating system at program startup.

  • _Setmbcp以前の呼び出しから取得した現在のロケールのコード ページを使用してsetlocaleします。_MB_CP_LOCALE Use the current locale's code page obtained from a previous call to setlocale.

  • _MB_CP_OEM使用の OEM コード ページは、プログラムの起動時にオペレーティング システムから取得します。_MB_CP_OEM Use OEM code page obtained from operating system at program startup.

  • _MB_CP_SBCS 1 バイト コード ページを使用します。_MB_CP_SBCS Use single-byte code page. コード ページを設定すると _MB_CP_SBCSなどの日常的な_ismbblead常に false を返します。When the code page is set to _MB_CP_SBCS, a routine such as _ismbblead always returns false.

  • 他の任意の有効なコード ページ値。値は、ANSI、OEM、またはその他のオペレーティング システムがサポートするコード ページであるかに関係ありません。ただし、サポートされていない UTF-7 と UTF-8 は除きます。Any other valid code page value, regardless of whether the value is an ANSI, OEM, or other operating-system-supported code page (except UTF-7 and UTF-8, which are not supported).

必要条件Requirements

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

互換性の詳細については、「 互換性」を参照してください。For more compatibility information, see Compatibility.

関連項目See also

_getmbcp_getmbcp
setlocale、_wsetlocalesetlocale, _wsetlocale