Freigeben über


_mbsnbset, _mbsnbset_l

Legen Sie die ersten n Bytes einer Mehrbyte-Zeichenfolge zu einem angegebenen Zeichen fest.Sicherere Versionen dieser Funktionen sind verfügbar; finden Sie unter _mbsnbset_s, _mbsnbset_s_l.

Wichtiger HinweisWichtig

Diese API kann nicht in den Anwendungen verwendet werden, die in der Windows Runtime ausführen.Weitere Informationen finden Sie unter CRT-Funktionen unterstützt nicht mit /ZW.

unsigned char *_mbsnbset( unsigned char *str, unsigned int c, size_t count ); unsigned char *_mbsnbset_l( unsigned char *str, unsigned int c, size_t count, _locale_t locale );

Parameter

  • str
    Geändert werden Zeichenfolge.

  • c
    Einzelbyte- oder Mehrbytezeicheneinstellung.

  • count
    Zahl festgelegt werden Bytes.

  • locale
    Zu verwendende Gebietsschema.

Rückgabewert

_mbsnbset gibt einen Zeiger auf die geänderten Zeichenfolge zurück.

Hinweise

_mbsnbset und _mbsnbset_l funktioniert Satz höchstens die ersten count Bytes von str zu c.Wenn count größer als die Länge von str ist, wird die Länge von str anstelle count verwendet.Wenn c ein Mehrbytezeichen ist und nicht in das letzte Byte vollständig festgelegt werden, die von count angegeben wird, wird das letzte Byte mit einem Leerzeichen aufgefüllt._mbsnbset und _mbsnbset_l platziert ein abschließendes NULL-Zeichen nicht am Ende von str.

_mbsnbset und _mbsnbset_l ist zu _mbsnset vergleichbar, außer dass legt count Bytes statt count Zeichen aus c fest.

Wenn strNULL ist, oder count null ist, generiert diese Funktion eine ungültige Parameterausnahme, wie in Parametervalidierung beschrieben.Wenn die Ausführung zulässig ist, um fortzufahren, wird errno zu EINVAL festgelegt und die Funktion gibt NULL zurück.Wenn c kein gültiges Mehrbytezeichen ist, wird errno zu EINVAL festgelegt und ein Leerzeichen wird stattdessen verwendet.

Der Ausgabewert wird durch die Einstellung der LC_CTYPE Kategorieneinstellung des Gebietsschemas betroffen; setlocale finden Sie weitere Informationen.Die _mbsnbset-Version dieser Funktion verwendet das aktuelle Gebietsschema für dieses Verhalten abhängig; die _mbsnbset_l-Version ist identisch, außer dass verwendet, die in der Gebietsschemaparameter stattdessen übergeben.Weitere Informationen finden Sie unter Gebietsschema.

Sicherheitshinweis dieser APIs verursacht eine potenzielle Bedrohung, die durch ein Pufferüberlaufprobleme hin bewerkstelligt wird.Pufferüberlaufprobleme sind eine häufige Methode des Systemangriffs, Ergebnis einer autorisierten Ausweitung seine Berechtigungen ausweitet.Weitere Informationen finden Sie unter Vermeiden von Pufferüberläufen.

Zuordnung generische 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

_mbsnbset

<mbstring.h>

_mbsnbset_l

<mbstring.h>

Weitere Kompatibilitätsinformation finden Sie unter Kompatibilität in der Einführung.

Beispiel

// crt_mbsnbset.c
// compile with: /W3
#include <mbstring.h>
#include <stdio.h>

int main( void )
{
   char string[15] = "This is a test";
   /* Set not more than 4 bytes of string to be *'s */
   printf( "Before: %s\n", string );
   _mbsnbset( string, '*', 4 ); // C4996
   // Note; _mbsnbset is deprecated; consider _mbsnbset_s
   printf( "After:  %s\n", string );
}

Ausgabe

Before: This is a test
After:  **** is a test

.NET Framework-Entsprechung

Nicht zutreffend. Um die Standard-C-Funktion aufzurufen, verwenden Sie PInvoke. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe.

Siehe auch

Referenz

Zeichenfolgenbearbeitung (CRT)

_mbsnbcat, _mbsnbcat_l

_strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l

_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l