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

Codepage引数は、次のいずれかの値に設定できます。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.

  • _MB_CP_LOCALE以前の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_SBCS1バイトのコードページを使用します。_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