_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. Informationen dazu finden Sie unter _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 Secure Template Overloads.
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.
Mapping generischer Textroutinen
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
Zeichenfolgenbearbeitung
_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