Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Fügt höchstens die ersten n Byte einer anderen Multibyte-Zeichenfolge an. Diese Funktionen sind Versionen von _mbsnbcat, _mbsnbcat_l die Sicherheitsverbesserungen aufweisen, wie in den Sicherheitsfeatures im CRT beschrieben.
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
errno_t _mbsnbcat_s(
unsigned char *dest,
size_t sizeInBytes,
const unsigned char *src,
size_t count
);
errno_t _mbsnbcat_s_l(
unsigned char *dest,
size_t sizeInBytes,
const unsigned char *src,
size_t count,
_locale_t locale
);
template <size_t size>
errno_t _mbsnbcat_s(
unsigned char (&dest)[size],
const unsigned char *src,
size_t count
); // C++ only
template <size_t size>
errno_t _mbsnbcat_s_l(
unsigned char (&dest)[size],
const unsigned char *src,
size_t count,
_locale_t locale
); // C++ only
Parameter
dest
Auf NULL endende Multibytezielzeichenfolge.
sizeInBytes
Größe des dest-Puffers in Byte.
src
Auf NULL endende Multibytequellzeichenfolge.
count
Anzahl Bytes von src, die an dest angefügt werden.
locale
Zu verwendendes Gebietsschema.
Rückgabewert
Null, wenn erfolgreich, andernfalls ein Fehlercode.
Fehlerbedingungen
dest |
sizeInBytes |
src |
Rückgabewert |
|---|---|---|---|
NULL |
any | Beliebig | EINVAL |
| Any | <= 0 | any | EINVAL |
| Any | any | NULL |
EINVAL |
Wenn eine der Fehlerbedingungen auftritt, 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.
Hinweise
Die Funktion _mbsnbcat_s fügt höchstens die ersten dest Bytes von count an src an. Wenn das Byte, das unmittelbar vor dem Nullzeichen dest steht, ein Leadbyte ist, wird es durch das anfängliche Byte srcüberschrieben. 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_s 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 durch ein 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 Versionen dieser Funktionen sind nahezu identisch, außer dass diejenigen ohne das _l-Suffix das aktuelle Gebietsschema verwenden, und diejenigen mit _l-Suffix den übergebenen Gebietsschemaparameter. Weitere Informationen finden Sie unter Locale.
In C++ wird die Verwendung dieser Funktionen durch Vorlagenüberladungen vereinfacht. Die Überladungen können die Pufferlänge automatisch ableiten, wodurch die Notwendigkeit zum Angeben eines Größenarguments beseitigt wird, und sie können automatisch die neueren, sichereren Funktionen verwenden, um ältere, weniger sichere Funktionen zu ersetzen. Weitere Informationen finden Sie unter Secure Template Overloads.
Die Debugbibliotheksversionen dieser Funktionen füllen zuerst den Puffer mit 0xFE. Verwenden Sie _CrtSetDebugFillThresholdzum Deaktivieren dieses Verhaltens .
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_s |
strncat_s |
_mbsnbcat_s |
wcsncat_s |
_tcsncat_s_l |
_strncat_s_l |
_mbsnbcat_s_l |
_wcsncat_s_l |
Anforderungen
| Routine | Erforderlicher Header |
|---|---|
_mbsnbcat_s |
<mbstring.h> |
_mbsnbcat_s_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
_mbsnbcpy_s, _mbsnbcpy_s_l
_mbsnbset, _mbsnbset_l
strncat, , _strncat_lwcsncat, _wcsncat_l, , _mbsncat_mbsncat_l
strncat_s, , _strncat_s_lwcsncat_s, _wcsncat_s_l, , _mbsncat_s_mbsncat_s_l