_mbsnbcat, _mbsnbcat_l

Fügt höchstens die ersten n Byte einer Multibyte-Zeichenfolge an eine andere an. Sicherere Versionen dieser Funktionen sind verfügbar; siehe _mbsnbcat_s, _mbsnbcat_s_l.

Wichtig

Diese API kann nicht in Anwendungen verwendet werden, die in Windows-Runtime ausgeführt werden. Weitere Informationen finden Sie im Artikel CRT functions not supported in Universal Windows Platform apps (In Apps für die universelle Windows-Plattform nicht unterstützte CRT-Funktionen).

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

Parameter

dest
Auf NULL endende Multibytezielzeichenfolge.

src
Auf NULL endende Multibytequellzeichenfolge.

count
Anzahl Bytes von src, die an dest angefügt werden.

locale
Zu verwendendes Gebietsschema.

Rückgabewert

_mbsnbcat gibt einen Zeiger zur Zielzeichenfolge zurück. Kein Rückgabewert ist zur Fehleranzeige reserviert.

Hinweise

Die Funktion _mbsnbcat fügt höchstens die ersten count Bytes von src an dest an. Wenn das Byte direkt vor dem Nullzeichen in dest ein führendes Byte ist, überschreibt das ursprüngliche Byte von src dieses führende Byte. Andernfalls überschreibt das ursprüngliche Byte von src das abschließende NULL-Zeichen von dest. Wenn ein Nullbyte in src auftritt, bevor count Bytes angefügt werden, fügt _mbsnbcat alle Bytes von src bis zu dem NULL-Zeichen an. Wenn count größer als die Länge von src ist, wird die Länge von src anstelle von count verwendet. Die resultierende Zeichenfolge wird mit einem NULL-Zeichen beendet. Wenn der Kopiervorgang zwischen Zeichenfolgen ausgeführt wird, die sich überschneiden, ist das Verhalten nicht definiert.

Der Ausgabewert wird durch die Einstellung der LC_CTYPE Kategorieeinstellung des Gebietsschemas beeinflusst. Weitere Informationen finden Sie unter setlocale. Die _mbsnbcat-Version der Funktion verwendet das aktuelle Gebietsschema für dieses vom Gebietsschema abhängige Verhalten. Die _mbsnbcat_l-Version ist beinahe identisch, verwendet jedoch stattdessen den ihr übergebenen Gebietsschemaparameter. Weitere Informationen finden Sie unter Locale.

Sicherheitshinweis Verwenden Sie eine mit NULL endende Zeichenfolge. Die mit NULL endende Zeichenfolge darf die Größe des Zielpuffers nicht überschreiten. Weitere Informationen finden Sie unter Vermeiden von Pufferüberläufen.

Wenn dest oder src ist NULL, generiert die Funktion einen ungültigen Parameterfehler, wie in der Parameterüberprüfung beschrieben. Wenn der Fehler behandelt wird, gibt die Funktion EINVAL zurück und legt errno auf EINVAL fest.

In C++ haben diese Funktionen Vorlagenüberladungen, mit denen die neueren, sicheren Entsprechungen dieser Funktionen aufgerufen werden. Weitere Informationen finden Sie unter "Sichere Vorlagenüberladungen".

Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Informationen zum Ändern dieses Verhaltens finden Sie im Global state in the CRT.

Generische Textroutinzuordnungen

Tchar.h-Routine _UNICODE und _MBCS nicht definiert _MBCS Definiert _UNICODE Definiert
_tcsncat strncat _mbsnbcat wcsncat
_tcsncat_l _strncat_l _mbsnbcat_l _wcsncat_l

Anforderungen

Routine Erforderlicher Header
_mbsnbcat <mbstring.h>
_mbsnbcat_l <mbstring.h>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.

Siehe auch

Zeichenfolgenmanipulation
_mbsnbcmp, _mbsnbcmp_l
_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l
_mbsnbcpy, _mbsnbcpy_l
_mbsnbicmp, _mbsnbicmp_l
_mbsnbset, _mbsnbset_l
strncat, _strncat_l, wcsncat, _wcsncat_l, _mbsncat, _mbsncat_l
_mbsnbcat_s, _mbsnbcat_s_l