文字列のマルチバイト文字を他の文字列にコピーします。 これらの関数のセキュリティを強化したバージョンを使用できます。「_mbccpy_s、_mbccpy_s_l」を参照してください。
重要
この API は、Windows ランタイムで実行するアプリケーションでは使用できません。 詳細については、「ユニバーサル Windows プラットフォーム アプリでサポートされていない CRT 関数」を参照してください。
構文
void _mbccpy(
unsigned char *dest,
const unsigned char *src
);
void _mbccpy_l(
unsigned char *dest,
const unsigned char *src,
_locale_t locale
);
パラメーター
dest
コピー先。
src
コピーするマルチバイト文字。
locale
使用するロケール。
解説
_mbccpy 関数は、src から dest に、マルチバイト文字を 1 文字コピーします。
この関数は、パラメーターを検証します。 _mbccpyにdestまたはsrcの null ポインターが渡された場合は、「パラメーター検証で説明されているように、無効なパラメーター ハンドラーが呼び出されます。 実行の継続が許可された場合、errno は EINVAL に設定されます。
_mbccpy は、すべてのロケールに依存する動作に現在のロケールを使用します。 _mbccpy_l は _mbccpy と同じですが、_mbccpy_l は現在のロケールではなく渡されたロケールを使用するという点で異なります。 詳細については、「 Locale」を参照してください。
セキュリティに関するメモ null で終わる文字列を使用してください。 null で終わる文字列はターゲット バッファーのサイズを超えないようにしてください。 詳細については、「バッファー オーバーランの回避」を参照してください。 バッファー オーバーランは、システムを攻撃するときによく使用される方法であり、その結果、認められていない権限が昇格されます。
既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「CRT でのグローバル状態」を参照してください。
汎用テキスト ルーチンのマップ
| Tchar.h のルーチン | _UNICODE と _MBCS が定義されていない |
_MBCS が定義されている |
_UNICODE が定義されている |
|---|---|---|---|
_tccpy |
マクロまたはインライン関数にマップされます | _mbccpy |
マクロまたはインライン関数にマップされます |
_tccpy_l |
該当なし | _mbccpy_l |
該当なし |
要件
| ルーチンによって返される値 | 必須ヘッダー |
|---|---|
_mbccpy |
<mbctype.h> |
_mbccpy_l |
<mbctype.h> |
互換性の詳細については、「 Compatibility」を参照してください。