_strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l

Initialisiert Zeichen einer Zeichenfolge auf ein angegebenes Zeichen. Sicherere Versionen dieser Funktionen sind vorhanden. Weitere Informationen 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 der -Windows-Runtime. 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.

Bemerkungen

Die _strnset legt die ersten Zählzeichen 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 _strnset. Die Zeichenfolgenargumente und der Rückgabewert _wcsnset sind Breitzeichenzeichenfolgen. bei den _mbsnset handelt es sich um Multibyte-Zeichenfolgen. Diese drei Funktionen verhalten sich andernfalls identisch.

_mbsnset überprüft die 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 _mbsnsetNULL zurück und legt errno aufEINVAL fest. _strnset und _wcsnset ihre Parameter nicht überprüfen.

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.

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
_tcsnset _strnset _mbsnbset _wcsnset
_tcsnset_l _strnset_l _mbsnbset_l _wcsnset_l

Anforderungen

-Routine zurückgegebener Wert Erforderlicher Header
_strnset <string.h>
_strnset_l <tchar.h>
_wcsnset <string.h> oder <wchar.h>
_wcsnset_l <tchar.h>
_mbsnset, _mbsnset_l <mbstring.h>

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

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 Multibyte-Character Sequenzen
strcat, wcscat, _mbscat
strcmp, wcscmp, _mbscmp
strcpy, wcscpy, _mbscpy
_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l