_strnset_s, _strnset_s_l, _wcsnset_s, _wcsnset_s_l, _mbsnset_s, _mbsnset_s_l
Initialisieren Sie Zeichen einer Zeichenfolge mit einem angegebenen Zeichen.Diese sind Versionen von _strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l mit Sicherheitserweiterungen, wie in Sicherheitsfeatures im CRT beschrieben.
Wichtig |
---|
_mbsnset_s und _mbsnset_s_l können in Anwendungen nicht verwendet werden, die in der Windows Runtime ausführen.Weitere Informationen finden Sie unter CRT-Funktionen unterstützt nicht mit /ZW. |
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
Geändert werden Zeichenfolge.numberOfElements
Die Größe des Puffers str.c
Zeicheneinstellung.count
Zahl festgelegt werden Zeichen.locale
Zu verwendende Gebietsschema.
Rückgabewert
Null erfolgreich, wenn andernfalls ein Fehlercode.
Diese Funktionen überprüfen Argumente.Wenn str keine gültige auf NULL endende Zeichenfolge ist, oder das Größenargument kleiner oder gleich 0 ist, wird der ungültige Parameterhandler aufgerufen, wie in Parametervalidierung beschrieben.Wenn die Ausführung zulässig ist, um fortzufahren, geben diese Funktionen einen Fehlercode und einen Satz errno zu diesem Fehlercode zurück.Der Standardwert ist EINVAL Fehlercode, wenn ein bestimmter Wert nicht mehr gilt.
Hinweise
Diese Funktionen festgelegt höchstens die ersten count Zeichen aus str zu c.Wenn count größer als die Größe von str ist, wird die Größe von str anstelle count verwendet.Ein Fehler tritt auf, wenn count größer ist, als numberOfElements auf und beide diese Parameter größer als die Größe von str sind.
_wcsnset_s und _mbsnset_s sind Breitzeich und Mehrbytezeichen-Versionen von _strnset_s.Das Zeichenfolgenargument von _wcsnset_s ist eine Zeichenfolge mit Breitzeichen; die von _mbsnset_s ist eine Mehrbyte-Zeichenfolge.Diese drei Funktionen verhalten sich andernfalls identisch.
Der Ausgabewert wird durch die Einstellung der LC_CTYPE Kategorieneinstellung des Gebietsschemas betroffen; setlocale finden Sie weitere Informationen.Die Versionen dieser Funktionen ohne das _l Suffix verwenden das aktuelle Gebietsschema für dieses Verhalten abhängig; die Versionen mit dem _l Suffix sind identisch, allerdings verwenden den Gebietsschemaparameter, der in stattdessen übergeben wird.Weitere Informationen finden Sie unter Gebietsschema.
Die Debugversionen dieser Funktionen füllen zuerst den Puffer mit den Wert aus.Um dieses Verhalten zu deaktivieren, verwenden Sie _CrtSetDebugFillThreshold.
Zuordnung generische Textroutinen
TCHAR.H-Routine |
_UNICODE & _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 |
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> |
So zusätzlicher Kompatibilitätsinformation finden Sie unter Kompatibilität in der Einführung.
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 );
}
.NET Framework-Entsprechung
Siehe auch
Referenz
Zeichenfolgenbearbeitung (CRT)