_mbsnbcat_s, _mbsnbcat_s_l
Fügt an eine Mehrbytezeichenzeichenfolge höchstens die ersten n Bytes einer Mehrbyte-Zeichenfolge anderen an. Diese Versionen sind von _mbsnbcat, _mbsnbcat_l, die Sicherheitsverbesserungen haben, wie in Sicherheitsfunktionen in der CRT beschrieben.
Wichtig
Diese API kann nicht in Anwendungen verwendet werden, die im Windows-Runtime ausgeführt werden.Weitere Informationen finden Sie unter CRT-Funktionen nicht mit /ZW unterstützt.
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 Puffers dest in Bytes.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 |
any |
EINVAL |
Irgendein |
<= 0 |
any |
EINVAL |
Irgendein |
any |
NULL |
EINVAL |
Wenn eine von Fehlerzuständen, tritt die Funktion generiert einen ungültigen Parameterfehler auf, wie in Parametervalidierung beschrieben. Wenn der Fehler behandelt wird, gibt die Funktion EINVAL zurück und legt errno auf EINVAL fest.
Hinweise
Die _mbsnbcat_s-Funktion wird in dest höchstens die ersten count Bytes von src an. Wenn das Byte, das unmittelbar auf das Nullzeichen in dest vor, ein führendes Byte ist, wird es durch das ursprüngliche Byte von src überschrieben. Andernfalls überschreibt das ursprüngliche Byte von src das abschließende NULL-Zeichen von dest. Wenn ein Nullbyte in src angezeigt, bevor count Bytes angefügt werden, fügt _mbsnbcat_s alle Bytes von src, bis 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 Ergebniszeichenfolge wird durch ein NULL-Zeichen abgeschlossen. Wenn der Kopiervorgang zwischen Zeichenfolgen ausgeführt wird, die sich überschneiden, ist das Verhalten nicht definiert.
Der Ausgabewert ist von der LC_CTYPE-Kategorieneinstellung des Gebietsschemas betroffen; weitere Informationen finden Sie unter setlocale, _wsetlocale. 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 von Vorlagenüberladungen vereinfacht; Überladungen können die Pufferlänge automatisch ableiten und die Anforderung und beseitigen, einem Größenargument anzugeben, und sie können die neueren, sichereren Funktionen automatisch verwenden, um die ältere, weniger-sicheren Funktionen zu ersetzen. Weitere Informationen finden Sie unter Sichere Vorlagenüberladungen.
Die Debugversionen dieser Funktionen füllen zunächst den Puffer mit "0xFD" auf. Mit _CrtSetDebugFillThreshold deaktivieren Sie dieses Verhalten.
Zuordnung generischer Textroutinen
Tchar.h-Routine |
_UNICODE und _MBCS nicht definiert |
_MBCS definiert |
_UNICODE definiert |
---|---|---|---|
_tcsncat |
_mbsnbcat_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.
.NET Framework-Entsprechung
Nicht zutreffend. Mit PInvoke rufen Sie die Standard-C-Funktion auf. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe.
Siehe auch
Referenz
Zeichenfolgenbearbeitung (CRT)
_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_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