_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l

Legt Zeichen einer Zeichenfolge auf ein Zeichen fest. Sicherere Versionen dieser Funktionen sind verfügbar. Informationen dazu finden Sie unter _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 im 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.

Bemerkungen

Die _strset-Funktion legt alle Zeichen (mit Ausnahme des abschließenden NULL-Zeichens) von str auf c fest, konvertiert in char. _wcsset und _mbsset_l sind Breitzeichen- und Multibytezeichenversionen von _strset, und die Datentypen der Argumente und Rückgabewerte variieren entsprechend. Anderenfalls verhalten sich diese Funktionen identisch.

_mbsset überprüft seine Parameter. Wenn str ein NULL-Zeiger ist, wird der Handler für ungültige Parameter aufgerufen, wie unter Parametervalidierung beschrieben. Wenn die weitere Ausführung zugelassen wird, gibt _mbssetNULL zurück und legt errno auf EINVAL fest. _strset und _wcsset überprüfen ihre Parameter nicht.

Der Ausgabewert wird durch die Einstellung der LC_CTYPE Kategorieeinstellung des Gebietsschemas beeinflusst. Weitere Informationen finden Sie unter setlocale, _wsetlocale . Die Versionen dieser Funktionen sind identisch, mit der Ausnahme, dass diejenigen, die nicht über das _l-Suffix verfügen, das aktuelle Gebietsschema verwenden und diejenigen, die das _l Suffix haben, stattdessen den übergebenen Gebietsschemaparameter verwenden. 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. Wie Sie dies ändern, erfahren Sie unter Globaler Status in der CRT.

Zuordnung generischer Textroutinen

TCHAR.H-Routine & _UNICODE _MBCS nicht definiert _MBCS definiert _UNICODE definiert
_tcsset _strset _mbsset _wcsset
_tcsset_l _strset_l _mbsset_l _wcsset_l

Anforderungen

-Routine zurückgegebener Wert Erforderlicher Header
_strset <string.h>
_strset_l <tchar.h>
_wcsset <string.h> oder <wchar.h>
_wcsset_l <tchar.h>
_mbsset, _mbsset_l <mbstring.h>

Zusätzliche Informationen zur Kompatibilität finden Sie unter Compatibility.

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

Zeichenfolgenbearbeitung
Gebietsschema
Interpretation von Multibyte-Character Sequenzen
_mbsnbset, _mbsnbset_l
memset, wmemset
strcat, wcscat, _mbscat
strcmp, wcscmp, _mbscmp
strcpy, wcscpy, _mbscpy
_strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l