_mbsnbcpy、_mbsnbcpy_l_mbsnbcpy, _mbsnbcpy_l

コピー nを宛先文字列に文字列のバイト。Copies n bytes of a string to a destination string. これらの関数のセキュリティを強化したバージョンについては、「_mbsnbcpy_s、_mbsnbcpy_s_l」を参照してください。More secure versions of these functions are available—see _mbsnbcpy_s, _mbsnbcpy_s_l.

重要

この API は、Windows ランタイムで実行するアプリケーションでは使用できません。This API cannot be used in applications that execute in the Windows Runtime. 詳細については、「ユニバーサル Windows プラットフォーム アプリでサポートされていない CRT 関数」を参照してください。For more information, see CRT functions not supported in Universal Windows Platform apps.

構文Syntax

unsigned char * _mbsnbcpy(
   unsigned char * strDest,
   const unsigned char * strSource,
   size_t count
);
unsigned char * _mbsnbcpy_l(
   unsigned char * strDest,
   const unsigned char * strSource,
   size_t count,
   _locale_t locale
);
template <size_t size>
unsigned char * _mbsnbcpy(
   unsigned char (&strDest)[size],
   const unsigned char * strSource,
   size_t count
); // C++ only
template <size_t size>
unsigned char * _mbsnbcpy_l(
   unsigned char (&strDest)[size],
   const unsigned char * strSource,
   size_t count,
   _locale_t locale
); // C++ only

パラメーターParameters

strDeststrDest
文字列のコピー先。Destination for the character string to be copied.

strSourcestrSource
コピーする文字列。Character string to be copied.

countcount
コピー対象のバイト数。Number of bytes to be copied.

localelocale
使用するロケール。Locale to use.

戻り値Return Value

_mbsnbcpyコピー先文字列へのポインターを返します。_mbsnbcpy returns a pointer to the destination character string. エラーを示す戻り値は予約されていません。No return value is reserved to indicate an error.

RemarksRemarks

_Mbsnbcpy関数コピーからバイトstrSource追加される文字The _mbsnbcpy function copies count bytes from strSource to strDest. 場合のサイズを超える追加される文字元とコピー先の文字列が重なり合うの動作または _mbsnbcpyが定義されていません。If count exceeds the size of strDest or the source and destination strings overlap, the behavior of _mbsnbcpy is undefined.

場合strSourceまたは追加される文字null ポインターの場合は、」の説明に従って、この関数は無効なパラメーター ハンドラーを呼び出しますパラメーターの検証です。If strSource or strDest is a null pointer, this function invokes the invalid parameter handler as described in Parameter Validation. かどうかは、引き続き実行が許可された、関数を返しますNULL設定とerrnoEINVALします。If execution is allowed to continue, the function returns NULL and sets errno to EINVAL.

出力値の設定に影響は、 LC_CTYPEロケールのカテゴリの設定; を参照してくださいsetlocale、_wsetlocale詳細についてはします。The output value is affected by the setting of the LC_CTYPE category setting of the locale; see setlocale, _wsetlocale for more information. これらの関数バージョンが同じでないそのものを除く、 _lサフィックスを使用して、現在のロケールとが付いているバージョン、 _lサフィックスが代わりにロケール パラメーターを使用しての渡されます。The versions of these functions are identical, except that those that don't have the _l suffix use the current locale and the versions that do have the _l suffix instead use the locale parameter that's passed in. 詳細については、「 Locale」を参照してください。For more information, see Locale.

重要

これらの関数は、バッファー オーバーランの脅威に対して脆弱な場合があります。These functions might be vulnerable to buffer overrun threats. バッファー オーバーランを使用すると任意の攻撃者のコードを実行できるため、認められていない特権の昇格が発生し、システムを危険にさらすことがあります。Buffer overruns can be used to execute arbitrary attacker code, which can cause an unwarranted elevation of privilege and compromise the system. 詳しくは、「 バッファー オーバーランの回避」をご覧ください。For more information, see Avoiding Buffer Overruns.

C++ では、これらの関数にテンプレートのオーバーロードがあります。このオーバーロードは、これらの関数に対応するセキュリティを強化された新しい関数を呼び出します。In C++, these functions have template overloads that invoke the newer, more secure counterparts of these functions. 詳細については、「 Secure Template Overloads」を参照してください。For more information, see Secure Template Overloads.

汎用テキスト ルーチンのマップGeneric-Text Routine Mappings

Tchar.h のルーチンTchar.h routine _UNICODE および _MBCS が未定義の場合_UNICODE and _MBCS not defined _MBCS が定義されている場合_MBCS defined _UNICODE が定義されている場合_UNICODE defined
_tcsncpy_tcsncpy strncpystrncpy _mbsnbcpy_mbsnbcpy wcsncpywcsncpy
_tcsncpy_l_tcsncpy_l _strncpy_l_strncpy_l _mbsnbcp_l_mbsnbcp_l _wcsncpy_l_wcsncpy_l

必要条件Requirements

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

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

関連項目See also

文字列操作String Manipulation
_mbsnbcat、_mbsnbcat_l_mbsnbcat, _mbsnbcat_l
_mbsnbcmp、_mbsnbcmp_l_mbsnbcmp, _mbsnbcmp_l
_strncnt、_wcsncnt、_mbsnbcnt、_mbsnbcnt_l、_mbsnccnt、_mbsnccnt_l_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l
_mbsnbset、_mbsnbset_l_mbsnbset, _mbsnbset_l
strncpy、_strncpy_l、wcsncpy、_wcsncpy_l、_mbsncpy、_mbsncpy_lstrncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l