_mbsnbcpy_s, _mbsnbcpy_s_l
Kopiert n Bytes einer Zeichenfolge zu einer Zielzeichenfolge.Diese sind Versionen von _mbsnbcpy, _mbsnbcpy_l mit Sicherheitserweiterungen, wie in Sicherheitsfeatures im CRT beschrieben.
Wichtig |
---|
Diese API kann nicht in den Anwendungen verwendet werden, die in der Windows Runtime ausführen.Weitere Informationen finden Sie unter CRT-Funktionen unterstützt nicht mit /ZW. |
errno_t _mbsnbcpy_s( unsigned char * strDest, size_t sizeInBytes, const unsigned char * strSource, size_t count ); errno_t _mbsnbcpy_s_l( unsigned char * strDest, size_t sizeInBytes, const unsigned char * strSource, size_t count, _locale_t locale ); template <size_t size> errno_t _mbsnbcpy_s( unsigned char (&strDest)[size], const unsigned char * strSource, size_t count ); // C++ only template <size_t size> errno_t _mbsnbcpy_s_l( unsigned char (&strDest)[size], const unsigned char * strSource, size_t count, _locale_t locale ); // C++ only
Parameter
strDest
Ziel, damit Zeichenfolge kopiert werden kann.sizeInBytes
Zielpuffergröße.strSource
Kopiert werden Zeichenfolge.count
Zahl kopiert werden Bytes.locale
Zu verwendende Gebietsschema.
Rückgabewert
Null erfolgreich, wenn EINVAL, wenn ein ungültiger Parameter übergeben wurde.
Hinweise
Die _mbsnbcpy_s-Funktion kopiert count Bytes von strSource zu strDest.Wenn count übersteigt, ist die Größe von strDest, entweder der Eingabezeichenfolgen ein NULL-Zeiger, oder sizeInBytes oder count ist 0, die Funktionsaufrufe der ungültige Parameterhandler, wie in Parametervalidierung beschrieben.Wenn die Ausführung zulässig ist, um fortzufahren, gibt die Funktion EINVAL zurück.Wenn die Quell- und Zielzeichenfolgen überschneiden, wird das Verhalten von _mbsnbcpy_s nicht definiert.
Der Ausgabewert wird durch die Einstellung der LC_CTYPE Kategorieneinstellung des Gebietsschemas betroffen; setlocale finden Sie weitere Informationen.Die Versionen dieser Funktionen ohne das _l Suffix verwenden das aktuelle Gebietsschema für dieses Verhalten abhängig; die Versionen mit dem _l Suffix sind identisch, allerdings verwenden den Gebietsschemaparameter, der in stattdessen übergeben wird.Weitere Informationen finden Sie unter Gebietsschema.
Hinweis |
---|
Anders als die nicht sichere Version dieser Funktion, führt _mbsnbcpy_s nicht NULL Auffüllungen und immer NULL beendet die Zeichenfolge. |
In C++ mithilfe dieser Funktionen wird durch Vorlagenüberladungen vereinfacht; die Überladungen können die Pufferlänge (die Anforderung automatisch beseitigend ableiten, ein Größenargument anzugeben) und können die älteren, nicht-sicheren Funktionen durch ihre späteren, sicheren Entsprechungen automatisch ersetzen.Weitere Informationen finden Sie unter Speichern Sie Vorlagen-Überladungen.
Die Debugversionen dieser Funktionen füllen zuerst den Puffer mit den Wert aus.Um dieses Verhalten zu deaktivieren, verwenden Sie _CrtSetDebugFillThreshold.
Zuordnung generische Textroutinen
Tchar.h-Routine |
_UNICODE und _MBCS nicht definiert |
_MBCS definiert |
_UNICODE definiert |
---|---|---|---|
_tcsncpy_s |
_strncpy_s |
_mbsnbcpy_s |
_wcsncpy_s |
_tcsncpy_s_l |
_strncpy_s_l |
_mbsnbcpy_s_l |
_wcsncpy_s_l |
Anforderungen
Routine |
Erforderlicher Header |
---|---|
_mbsnbcpy_s |
<mbstring.h> |
_mbsnbcpy_s_l |
<mbstring.h> |
Weitere Kompatibilitätsinformation finden Sie unter Kompatibilität in der Einführung.
.NET Framework-Entsprechung
Nicht zutreffend. Um die Standard-C-Funktion aufzurufen, verwenden Sie PInvoke. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe.
Siehe auch
Referenz
Zeichenfolgenbearbeitung (CRT)
_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l
strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l