_strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l
Initialisiert Zeichen einer Zeichenfolge auf ein angegebenes Zeichen. Sicherere Versionen dieser Funktionen sind verfügbar. Informationen dazu finden Sie unter _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 unter CRT-Funktionen nicht mit /ZW unterstützt.
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 in 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 von _wcsnset sind Zeichenfolgen mit Breitzeichen; die von _mbsnset sind Multibyte-Zeichenfolgen. Diese drei Funktionen verhalten sich andernfalls identisch.
_mbsnset überprüft die eigenen Parameter. Wenn str ein NULL-Zeiger ist, wird der Handler für ungültige Parameter aufgerufen, wie in Parametervalidierung beschrieben. Wenn die weitere Ausführung zugelassen wird, gibt _mbsnset NULL zurück und setzt errno auf EINVAL. _strnset und _wcsnset überprüfen ihre Parameter nicht.
Die Ausgabewert ist von der Einstellung der LC_CTYPE -Kategorieeinstellung 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.
Zuordnung generischer Textroutinen
TCHAR.H-Routine |
_UNICODE & _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 );
}
.NET Framework-Entsprechung
Siehe auch
Referenz
Zeichenfolgenbearbeitung (CRT)