_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, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l enthalten Sicherheitsverbesserungen, wie unter Sicherheitsfunktionen in der CRT beschrieben.

Wichtig

_mbsset_s und _mbsset_s_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

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.

Sizeinbytes
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 ein NULL-Zeiger ist oder das numberOfElements-Argument kleiner oder gleich 0 ist oder der übergebene Block nicht NULL-terminiert ist, wird der Handler für ungültige Parameter aufgerufen, wie unter Parametervalidierung beschrieben. Wenn die weitere Ausführung zugelassen wird, geben diese Funktionen EINVAL zurück und legen errno auf EINVAL fest.

Bemerkungen

Die _strset_s-Funktion legt alle Zeichen von str auf c fest (konvertiert in char), mit Ausnahme des abschließenden NULL-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 ist von der Kategorieeinstellung LC_CTYPE 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 Debugbibliotheksversionen dieser Funktionen füllen zuerst den Puffer mit 0xFE. Um dieses Verhalten zu deaktivieren, verwenden Sie _CrtSetDebugFillThreshold.

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_s _strset_s _mbsset_s _wcsset_s
_tcsset_s_l _strset_s_l _mbsset_s_l _wcsset_s_l

Anforderungen

-Routine zurückgegebener Wert 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>

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

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 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