_mbsnbcat_s
, _mbsnbcat_s_l
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 _CrtSetDebugFillThreshold
zum 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_l
wcsncat
, _wcsncat_l
, , _mbsncat
_mbsncat_l
strncat_s
, , _strncat_s_l
wcsncat_s
, _wcsncat_s_l
, , _mbsncat_s
_mbsncat_s_l