_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_l
wcsncpy
, _wcsncpy_l
, , _mbsncpy
_mbsncpy_l