_strnset
, , _strnset_l
_wcsnset
, _wcsnset_l
, , _mbsnset
_mbsnset_l
Initialisiert Zeichen einer Zeichenfolge auf ein angegebenes Zeichen. Sicherere Versionen dieser Funktionen sind vorhanden; siehe _strnset_s
, , _strnset_s_l
, _wcsnset_s
, _wcsnset_s_l
, _mbsnset_s
, . _mbsnset_s_l
Wichtig
_mbsnset
und _mbsnset_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 *_strnset(
char *str,
int c,
size_t count
);
char *_strnset_l(
char *str,
int c,
size_t count,
_locale_t locale
);
wchar_t *_wcsnset(
wchar_t *str,
wchar_t c,
size_t count
);
wchar_t *_wcsnset_l(
wchar_t *str,
wchar_t c,
size_t count,
_locale_t locale
);
unsigned char *_mbsnset(
unsigned char *str,
unsigned int c,
size_t count
);
unsigned char *_mbsnset_l(
unsigned char *str,
unsigned int c,
size_t count,
_locale_t locale
);
Parameter
str
Zu ändernde Zeichenfolge.
c
Zeicheneinstellung.
count
Zahl der festzulegenden Zeichen.
locale
Zu verwendendes Gebietsschema.
Rückgabewert
Gibt einen Zeiger zur geänderten Zeichenfolge zurück.
Hinweise
Die _strnset
-Funktion legt höchstens die ersten count
-Zeichen von str
auf c
fest (konvertiert nach char
). Wenn count
größer als die Länge von str
ist, wird die Länge von str
anstelle von count
verwendet.
_wcsnset
und _mbsnset
sind Breitzeichen- und Multibytezeichenversionen von _strnset
. Die Zeichenfolgenargumente und der Rückgabewert _wcsnset
sind Breitzeichenfolgen. Die Zeichenfolgenargumente und der Rückgabewert _mbsnset
sind Multibyte-Zeichenfolgen. Diese drei Funktionen verhalten sich andernfalls identisch.
_mbsnset
überprüft seine 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 _mbsnset
NULL
zurück und setzt errno
auf EINVAL
. _strnset
und _wcsnset
ü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 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.
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 |
---|---|---|---|
_tcsnset |
_strnset |
_mbsnbset |
_wcsnset |
_tcsnset_l |
_strnset_l |
_mbsnbset_l |
_wcsnset_l |
Anforderungen
Routine | Erforderlicher Header |
---|---|
_strnset |
<string.h> |
_strnset_l |
<tchar.h> |
_wcsnset |
<string.h> oder <wchar.h> |
_wcsnset_l |
<tchar.h> |
_mbsnset , _mbsnset_l |
<mbstring.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Beispiel
// crt_strnset.c
// compile with: /W3
#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( string, '*', 4 ); // C4996
// Note: _strnset is deprecated; consider using _strnset_s
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