_mbsnbcat、_mbsnbcat_l_mbsnbcat, _mbsnbcat_l

追加、最大で 1 つ目nを別の 1 つのマルチバイト文字列のバイト数。Appends, at most, the first n bytes of one multibyte-character string to another. これらの関数のセキュリティを強化したバージョンについては、「_mbsnbcat_s, _mbsnbcat_s_l」を参照してください。More secure versions of these functions are available; see _mbsnbcat_s, _mbsnbcat_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 *_mbsnbcat(
   unsigned char *dest,
   const unsigned char *src,
   size_t count
);
unsigned char *_mbsnbcat_l(
   unsigned char *dest,
   const unsigned char *src,
   size_t count,
   _locale_t locale
);
template <size_t size>
unsigned char *_mbsnbcat(
   unsigned char (&dest)[size],
   const unsigned char *src,
   size_t count
); // C++ only
template <size_t size>
unsigned char *_mbsnbcat_l(
   unsigned char (&dest)[size],
   const unsigned char *src,
   size_t count,
   _locale_t locale
); // C++ only

パラメーターParameters

destdest
NULL で終わるマルチバイト文字のコピー先文字列。Null-terminated multibyte-character destination string.

srcsrc
NULL で終わるマルチバイト文字のコピー元文字列。Null-terminated multibyte-character source string.

countcount
バイト数srcに追加するdestします。Number of bytes from src to append to dest.

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

戻り値Return Value

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

RemarksRemarks

_Mbsnbcat関数追加、最大で 1 つ目カウントバイトのsrcdestします。The _mbsnbcat function appends, at most, the first count bytes of src to dest. 場合に null 文字の直前にあるバイトdestが先行バイト、最初のバイトのsrcこの先行バイトが上書きされます。If the byte immediately preceding the null character in dest is a lead byte, the initial byte of src overwrites this lead byte. それ以外の場合、最初のバイトのsrcの終端の null 文字を上書きdestします。Otherwise, the initial byte of src overwrites the terminating null character of dest. Null バイトが表示される場合srcする前にカウントバイトが追加され、 _mbsnbcatからすべてのバイトを追加します。 src、null 文字までです。If a null byte appears in src before count bytes are appended, _mbsnbcat appends all bytes from src, up to the null character. 場合カウントがの長さより大きいsrcの長さsrcの代わりに使用されますカウントします。If count is greater than the length of src, the length of src is used in place of count. 結果の文字列は null 文字で終了します。The resulting string is terminated with a null character. 重なり合う文字列間でコピーした場合の動作は未定義です。If copying takes place between strings that overlap, the behavior is undefined.

出力値は、ロケールの LC_CTYPE カテゴリの設定に影響されます。詳細については、「setlocale」を参照してください。The output value is affected by the setting of the LC_CTYPE category setting of the locale; see setlocale for more information. _Mbsnbcat関数のバージョンは、このロケールに依存する動作の現在のロケールを使用、 _mbsnbcat_lバージョンは、代わりに渡されたロケール パラメーターを使用する点を除いて同じです。The _mbsnbcat version of the function uses the current locale for this locale-dependent behavior; the _mbsnbcat_l version is identical except that they use the locale parameter passed in instead. 詳細については、「 Locale」を参照してください。For more information, see Locale.

セキュリティに関するメモ null で終わる文字列をご使用ください。Security Note Use a null-terminated string. null で終わる文字列はターゲット バッファーのサイズを超えないようにしてください。The null-terminated string must not exceed the size of the destination buffer. 詳しくは、「 バッファー オーバーランの回避」をご覧ください。For more information, see Avoiding Buffer Overruns.

場合destまたはsrcNULL、関数の説明に従って、無効なパラメーター エラーが生成されますパラメーターの検証です。If dest or src is NULL, the function will generate an invalid parameter error, as described in Parameter Validation. エラーが処理されるかどうか、関数を返しますEINVAL設定とerrnoEINVALします。If the error is handled, the function returns EINVAL and sets errno to EINVAL.

C++ では、これらの関数にテンプレートのオーバーロードがあります。このオーバーロードは、これらの関数に対応するセキュリティで保護された新しい関数を呼び出します。In C++, these functions have template overloads that invoke the newer, 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
_tcsncat_tcsncat strncatstrncat _mbsnbcat_mbsnbcat wcsncatwcsncat
_tcsncat_l_tcsncat_l _strncat_l_strncat_l _mbsnbcat_l_mbsnbcat_l _wcsncat_l_wcsncat_l

必要条件Requirements

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

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

関連項目See also

文字列操作String Manipulation
_mbsnbcmp、_mbsnbcmp_l_mbsnbcmp, _mbsnbcmp_l
_strncnt、_wcsncnt、_mbsnbcnt、_mbsnbcnt_l、_mbsnccnt、_mbsnccnt_l_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l
_mbsnbcpy、_mbsnbcpy_l_mbsnbcpy, _mbsnbcpy_l
_mbsnbicmp、_mbsnbicmp_l_mbsnbicmp, _mbsnbicmp_l
_mbsnbset、_mbsnbset_l_mbsnbset, _mbsnbset_l
strncat、_strncat_l、wcsncat、_wcsncat_l、_mbsncat、_mbsncat_lstrncat, _strncat_l, wcsncat, _wcsncat_l, _mbsncat, _mbsncat_l
_mbsnbcat_s、_mbsnbcat_s_l_mbsnbcat_s, _mbsnbcat_s_l