_mbsnbcat、_mbsnbcat_l_mbsnbcat, _mbsnbcat_l

1つのマルチバイト文字列の最初のnバイトを別の文字列に追加します。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関数は、 srcからdestへの最初の最大バイト数を追加します。The _mbsnbcat function appends, at most, the first count bytes of src to dest. Destの null 文字の直前にあるバイトが先頭バイトの場合、 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の初期バイトはdestの終端の null 文字を上書きします。Otherwise, the initial byte of src overwrites the terminating null character of dest. Count bytes を追加する前にsrcに null バイトが含まれている場合、 _mbsnbcatsrcから null 文字までのすべてのバイトを追加します。If a null byte appears in src before count bytes are appended, _mbsnbcat appends all bytes from src, up to the null character. Countsrcの長さよりも大きい場合、 srcの長さはcountの代わりに使用されます。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