_strset_s
, , _strset_s_l
_wcsset_s
, _wcsset_s_l
, , _mbsset_s
_mbsset_s_l
Legt Zeichen einer Zeichenfolge auf ein Zeichen fest. Diese Versionen von _strset
, , _wcsset
_strset_l
, _wcsset_l
, _mbsset
haben _mbsset_l
Sicherheitsverbesserungen, wie in den Sicherheitsfeatures in der CRT beschrieben.
Wichtig
_mbsset_s
und _mbsset_s_l
können 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
errno_t _strset_s(
char *str,
size_t numberOfElements,
int c
);
errno_t _strset_s_l(
char *str,
size_t numberOfElements,
int c,
_locale_t locale
);
errno_t _wcsset_s(
wchar_t *str,
size_t numberOfElements,
wchar_t c
);
errno_t *_wcsset_s_l(
wchar_t *str,
size_t numberOfElements,
wchar_t c,
_locale_t locale
);
errno_t _mbsset_s(
unsigned char *str,
size_t numberOfElements,
unsigned int c
);
errno_t _mbsset_s_l(
unsigned char *str,
size_t numberOfElements,
unsigned int c,
_locale_t locale
);
Parameter
str
Festzulegende mit NULL endende Zeichenfolge.
numberOfElements
Die Größe des str
-Puffers.
c
Zeicheneinstellung.
locale
Zu verwendendes Gebietsschema.
Rückgabewert
Null, wenn erfolgreich, andernfalls ein Fehlercode.
Diese Funktionen überprüfen ihre Argumente. Wenn str
es sich um einen Nullzeiger handelt oder das numberOfElements
Argument kleiner oder gleich 0 ist oder der übergebene Block nicht null-beendet ist, wird der ungültige Parameterhandler aufgerufen, wie in der Parameterüberprüfung beschrieben. Wenn die weitere Ausführung zugelassen wird, geben diese Funktionen EINVAL
zurück und stellen errno
auf EINVAL
ein.
Hinweise
Die _strset_s
-Funktion legt alle Zeichen von str
auf c
fest (in char
konvertiert), mit Ausnahme des auf NULL endenden Zeichens. _wcsset_s
und _mbsset_s
sind Breitzeichen- und Multibytezeichenversionen von _strset_s
. Die Datentypen der Argumente und Rückgabewerte unterscheiden sich entsprechend. Anderenfalls verhalten sich diese Funktionen identisch.
Der Ausgabewert wird durch die Einstellung der LC_CTYPE
Kategorieeinstellung des Gebietsschemas beeinflusst. 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 Debugbibliotheksversionen dieser Funktionen füllen zuerst den Puffer mit 0xFE. Verwenden Sie _CrtSetDebugFillThreshold
zum Deaktivieren dieses Verhaltens .
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 |
---|---|---|---|
_tcsset_s |
_strset_s |
_mbsset_s |
_wcsset_s |
_tcsset_s_l |
_strset_s_l |
_mbsset_s_l |
_wcsset_s_l |
Anforderungen
Routine | Erforderlicher Header |
---|---|
_strset_s |
<string.h> |
_strset_s_l |
<tchar.h> |
_wcsset_s |
<string.h> oder <wchar.h> |
_wcsset_s_l |
<tchar.h> |
_mbsset_s , _mbsset_s_l |
<mbstring.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Beispiel
// crt_strset_s.c
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
int main( void )
{
char string[] = "Fill the string with something.";
printf( "Before: %s\n", string );
_strset_s( string, _countof(string), '*' );
printf( "After: %s\n", string );
}
Before: Fill the string with something.
After: *******************************
Siehe auch
Zeichenfolgenbearbeitung
Gebietsschema
Interpretation von Multibytezeichensequenzen
_mbsnbset
, _mbsnbset_l
memset
, wmemset
strcat
, wcscat
_mbscat
strcmp
, wcscmp
_mbscmp
strcpy
, wcscpy
_mbscpy
_strnset
, , _strnset_l
_wcsnset
, _wcsnset_l
, , _mbsnset
_mbsnset_l