Freigeben über


_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

strncat

_mbsnbcat_s

wcsncat

_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)

_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