_strnset_s, _strnset_s_l, _wcsnset_s, _wcsnset_s_l, _mbsnset_s, _mbsnset_s_l
Initialisiert Zeichen einer Zeichenfolge auf ein angegebenes Zeichen. Diese Versionen von _strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l enthalten Sicherheitserweiterungen wie unter Sicherheitsfunktionen in der CRT beschrieben.
Wichtig
_mbsnset_s und _mbsnset_s_l können nicht in Anwendungen verwendet werden, die in Windows-Runtime ausgeführt werden.Weitere Informationen finden Sie unter CRT-Funktionen nicht mit /ZW unterstützt.
errno_t _strnset_s(
char *str,
size_t numberOfElements,
int c,
size_t count
);
errno_t _strnset_s_l(
char *str,
size_t numberOfElements,
int c,
size_t count,
locale_t locale
);
errno_t _wcsnset_s(
wchar_t *str,
size_t numberOfElements,
wchar_t c,
size_t count
);
errno_t _wcsnset_s_l(
wchar_t *str,
size_t numberOfElements,
wchar_t c,
size_t count,
_locale_t locale
);
errno_t _mbsnset_s(
unsigned char *str,
size_t numberOfElements,
unsigned int c,
size_t count
);
errno_t _mbsnset_s_l(
unsigned char *str,
size_t numberOfElements,
unsigned int c,
size_t count,
_locale_t locale
);
Parameter
str
Zu ändernde Zeichenfolge.numberOfElements
Die Größe des str-Puffers.c
Zeicheneinstellung.count
Zahl der festzulegenden Zeichen.locale
Zu verwendendes Gebietsschema.
Rückgabewert
Null, wenn erfolgreich, andernfalls ein Fehlercode.
Diese Funktionen überprüfen ihre Argumente. Wenn str keine gültige auf NULL abschließende Zeichenfolge ist oder das Größenargument kleiner oder gleich 0 ist, wird der Handler für ungültige Parameter aufgerufen, wie in Parametervalidierung beschrieben. Wenn die weitere Ausführung zugelassen wird, geben diese Funktionen einem Fehlercode zurück und legen errno auf diesen Fehlercode fest. Der Standardfehlercode ist EINVAL, wenn kein spezifischerer Wert zur Anwendung kommt.
Hinweise
Diese Funktionen legen höchstens die ersten count-Zeichen von str auf c fest. Wenn count größer als die Größe von str ist, wird die Größe von str anstelle von count verwendet. Ein Fehler tritt auf, wenn count größer als numberOfElements ist, und diese beiden Parameter größer als die Größe von str sind.
_wcsnset_s und _mbsnset_s sind Breitzeichen- und Multibytezeichenversionen von _strnset_s. Das Zeichenfolgenargument von _wcsnset_s ist eine Zeichenfolge mit Breitzeichen; die von _mbsnset_s ist eine Mehrbyte-Zeichenfolge. Diese drei Funktionen verhalten sich andernfalls identisch.
Die Ausgabewert ist von der Einstellung der LC_CTYPE -Kategorieeinstellung des Gebietsschemas betroffen. Weitere Informationen finden Sie unter setlocale. Die Versionen dieser Funktionen ohne das _l-Suffix verwenden das aktuelle Gebietsschema für dieses vom Gebietsschema abhängige Verhalten. Die Versionen mit dem _l-Suffix sind beinahe identisch, verwenden jedoch stattdessen den ihnen übergebenen Gebietsschemaparameter. Weitere Informationen finden Sie unter Locale.
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 & _MBCS nicht definiert |
_MBCS definiert |
_UNICODE definiert |
---|---|---|---|
_tcsnset_s |
_strnset_s |
_mbsnbset_s |
_wcsnset_s |
_tcsnset_s_l |
_strnset_s_l |
_mbsnbset_s_l |
_wcsnset_s_l |
Anforderungen
Routine |
Erforderlicher Header |
---|---|
_strnset_s |
<string.h> |
_strnset_s_l |
<tchar.h> |
_wcsnset_s |
<string.h> oder <wchar.h> |
_wcsnset_s_l |
<tchar.h> |
_mbsnset_s, _mbsnset_s_l |
<mbstring.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Beispiel
// crt_strnset_s.c
#include <string.h>
#include <stdio.h>
int main( void )
{
char string[15] = "This is a test";
/* Set not more than 4 characters of string to be *'s */
printf( "Before: %s\n", string );
_strnset_s( string, sizeof(string), '*', 4 );
printf( "After: %s\n", string );
}
.NET Framework-Entsprechung
Siehe auch
Referenz
Zeichenfolgenbearbeitung (CRT)