_strset
, _strset_l
, _wcsset
, _wcsset_l
, _mbsset
, _mbsset_l
Legt Zeichen einer Zeichenfolge auf ein Zeichen fest. Sicherere Versionen dieser Funktionen sind verfügbar; siehe _strset_s
, , _strset_s_l
, _wcsset_s
, _wcsset_s_l
, _mbsset_s
, . _mbsset_s_l
Wichtig
_mbsset
und _mbsset_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
char *_strset(
char *str,
int c
);
char *_strset_l(
char *str,
int c,
_locale_t locale
);
wchar_t *_wcsset(
wchar_t *str,
wchar_t c
);
wchar_t *_wcsset_l(
wchar_t *str,
wchar_t c,
_locale_t locale
);
unsigned char *_mbsset(
unsigned char *str,
unsigned int c
);
unsigned char *_mbsset_l(
unsigned char *str,
unsigned int c,
_locale_t locale
);
Parameter
str
Festzulegende mit NULL endende Zeichenfolge.
c
Zeicheneinstellung.
locale
Zu verwendendes Gebietsschema.
Rückgabewert
Gibt einen Zeiger zur geänderten Zeichenfolge zurück.
Hinweise
Die _strset
-Funktion legt alle Zeichen (mit Ausnahme des auf NULL endenden Zeichens) von str
auf c
, in char
konvertiert, fest. _wcsset
und _mbsset_l
sind Breitzeichen- und Multibytezeichenversionen von _strset
, und die Datentypen der Argumente und Rückgabewerte unterscheiden sich entsprechend. Anderenfalls verhalten sich diese Funktionen identisch.
_mbsset
überprüft die eigenen Parameter. Wenn str
es sich um einen Nullzeiger handelt, wird der ungültige Parameterhandler aufgerufen, wie in der Parameterüberprüfung beschrieben. Wenn die weitere Ausführung zugelassen wird, gibt _mbsset
NULL
zurück und setzt errno
auf EINVAL
. _strset
und _wcsset
überprüfen Sie ihre Parameter nicht.
Der Ausgabewert wird durch die Einstellung der LC_CTYPE
Kategorieeinstellung des Gebietsschemas beeinflusst. Weitere Informationen finden Sie unter setlocale
. Die Versionen dieser Funktionen sind nahezu identisch, außer dass diejenigen ohne das _l
-Suffix das aktuelle Gebietsschema verwenden, und diejenigen mit _l
-Suffix den übergebenen Gebietsschemaparameter. Weitere Informationen finden Sie unter Locale.
Wichtig
Diese Funktionen sind möglicherweise für Pufferüberlaufrisiken anfällig. Pufferüberläufe können für Systemangriffe eingesetzt werden, da sie zu einer unbefugten Ausweitung der Berechtigungen führen. Weitere Informationen finden Sie unter Vermeiden von Pufferüberläufen.
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Informationen zum Ändern dieses Verhaltens finden Sie im Global state in the CRT.
Generische Textroutinzuordnungen
TCHAR.H-Routine | _UNICODE und _MBCS nicht definiert |
_MBCS Definiert |
_UNICODE Definiert |
---|---|---|---|
_tcsset |
_strset |
_mbsset |
_wcsset |
_tcsset_l |
_strset_l |
_mbsset_l |
_wcsset_l |
Anforderungen
Routine | Erforderlicher Header |
---|---|
_strset |
<string.h> |
_strset_l |
<tchar.h> |
_wcsset |
<string.h> oder <wchar.h> |
_wcsset_l |
<tchar.h> |
_mbsset , _mbsset_l |
<mbstring.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Beispiel
// crt_strset.c
// compile with: /W3
#include <string.h>
#include <stdio.h>
int main( void )
{
char string[] = "Fill the string with something.";
printf( "Before: %s\n", string );
_strset( string, '*' ); // C4996
// Note: _strset is deprecated; consider using _strset_s instead
printf( "After: %s\n", string );
}
Before: Fill the string with something.
After: *******************************
Siehe auch
Zeichenfolgenmanipulation
Gebietsschema
Interpretation von Multibyte-Zeichensequenzen
_mbsnbset
, _mbsnbset_l
memset
, wmemset
strcat
, wcscat
, _mbscat
strcmp
, wcscmp
, _mbscmp
strcpy
, wcscpy
, _mbscpy
_strnset
, _strnset_l
, _wcsnset
, _wcsnset_l
, _mbsnset
, _mbsnset_l
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für