_mbsnbcpy, _mbsnbcpy_l

Kopiert n Bytes einer Zeichenfolge in eine Zielzeichenfolge. Sicherere Versionen dieser Funktionen sind verfügbar – siehe _mbsnbcpy_s, . _mbsnbcpy_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 * _mbsnbcpy(
   unsigned char * strDest,
   const unsigned char * strSource,
   size_t count
);
unsigned char * _mbsnbcpy_l(
   unsigned char * strDest,
   const unsigned char * strSource,
   size_t count,
   _locale_t locale
);
template <size_t size>
unsigned char * _mbsnbcpy(
   unsigned char (&strDest)[size],
   const unsigned char * strSource,
   size_t count
); // C++ only
template <size_t size>
unsigned char * _mbsnbcpy_l(
   unsigned char (&strDest)[size],
   const unsigned char * strSource,
   size_t count,
   _locale_t locale
); // C++ only

Parameter

strDest
Ziel für die zu kopierende Zeichenfolge.

strSource
Zu kopierende Zeichenfolge.

count
Anzahl der zu kopierenden Bytes.

locale
Zu verwendendes Gebietsschema.

Rückgabewert

_mbsnbcpy gibt einen Zeiger auf die Zielzeichenfolge zurück. Kein Rückgabewert ist zur Fehleranzeige reserviert.

Hinweise

Die _mbsnbcpy-Funktion kopiert count Bytes von strSource nach strDest. Wenn count die Größe von strDest überschreitet oder sich Quell- und Zielzeichenfolgen überlappen, ist das Verhalten von _mbsnbcpy undefiniert.

Wenn strSource es sich um strDest einen Nullzeiger handelt, ruft diese Funktion den ungültigen Parameterhandler auf, wie in der Parameterüberprüfung beschrieben. Wenn die weitere Ausführung zugelassen wird, gibt die Funktion NULL zurück und setzt errno auf EINVAL.

Der Ausgabewert wird durch die Einstellung der LC_CTYPE Kategorieeinstellung des Gebietsschemas beeinflusst. Weitere Informationen finden Sie unter setlocale. Die Versionen dieser Funktionen sind identisch, mit der Ausnahme, dass die Versionen, die nicht über das _l Suffix verfügen, das aktuelle Gebietsschema und die Versionen verwenden, die das _l Suffix haben, stattdessen den Gebietsschemaparameter, der übergeben wird. Weitere Informationen finden Sie unter Locale.

Wichtig

Diese Funktionen sind möglicherweise für Pufferüberlaufrisiken anfällig. Pufferüberläufe können zum Ausführen von beliebigem Angreifercode verwendet werden, der zu einer unbefugten Ausweitung der Berechtigungen führen und das System gefährden kann. Weitere Informationen finden Sie unter Vermeiden von Pufferüberläufen.

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
_tcsncpy strncpy _mbsnbcpy wcsncpy
_tcsncpy_l _strncpy_l _mbsnbcp_l _wcsncpy_l

Anforderungen

Routine Erforderlicher Header
_mbsnbcpy <mbstring.h>
_mbsnbcpy_l <mbstring.h>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.

Siehe auch

Zeichenfolgenbearbeitung
_mbsnbcat, _mbsnbcat_l
_mbsnbcmp, _mbsnbcmp_l
_strncnt, , _wcsncnt_mbsnbcnt, _mbsnbcnt_l, , _mbsnccnt_mbsnccnt_l
_mbsnbset, _mbsnbset_l
strncpy, , _strncpy_lwcsncpy, _wcsncpy_l, , _mbsncpy_mbsncpy_l