_strnset_s
, _strnset_s_l
, , _wcsnset_s_l
_wcsnset_s
, _mbsnset_s
, _mbsnset_s_l
, _tcsnset_s
, , _tcsncset_s
_tcsncset_s_l
Initialisiert Zeichen einer Zeichenfolge auf ein angegebenes Zeichen. Diese Versionen von _strnset
, , _wcsnset
_strnset_l
, _wcsnset_l
, _mbsnset
haben _mbsnset_l
Sicherheitsverbesserungen, wie in den Sicherheitsfeatures 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 im Artikel CRT functions not supported in Universal Windows Platform apps (In Apps für die universelle Windows-Plattform nicht unterstützte CRT-Funktionen).
For _tcsnset_s
, _tcsnset_s_l
, , _tcsncset_s
and _tcsncset_s_l
see Generic-text function mappings.
Syntax
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
es sich nicht um eine gültige null-beendete Zeichenfolge handelt oder das Größenargument kleiner oder gleich 0 ist, wird der ungültige Parameterhandler aufgerufen, wie in der Parameterüberprüfung 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 ein spezifischerer Wert nicht angewendet wird.
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 ist _wcsnset_s
eine Zeichenfolge mit breitem Zeichen, bei der es _mbsnset_s
sich um eine Multibyte-Zeichenfolge handelt. Diese drei Funktionen verhalten sich andernfalls 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.
Zuordnungen generischer Textfunktionen
Die Funktion in der tchar.h
Spalte ist der Funktion in den anderen Spalten abhängig von dem Zeichensatz zugeordnet, der zur Kompilierungszeit definiert ist.
tchar.h -Funktion |
_UNICODE und _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 |
_tcsncset_s |
_strnset_s |
_mbsnset_s |
_wcsnset_s |
_tcsncset_s_l |
_strnset_s_l |
_mbsnset_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 );
}
Before: This is a test
After: **** is a test
Siehe auch
Zeichenfolgenbearbeitung
Gebietsschema
Interpretation von Multibytezeichensequenzen
strcat
, wcscat
_mbscat
strcmp
, wcscmp
_mbscmp
strcpy
, wcscpy
_mbscpy
_strset
, , _strset_l
_wcsset
, _wcsset_l
, , _mbsset
_mbsset_l