Udostępnij za pośrednictwem


_strnset_s, _strnset_s_l, _wcsnset_s, _wcsnset_s_l, _mbsnset_s, _mbsnset_s_l

Zainicjuj znaków ciągu do danego znaku.Są to wersje _strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l z ulepszeń zabezpieczeń, zgodnie z opisem w Funkcje zabezpieczeń w CRT.

Ważna uwagaWażne

_mbsnset_si _mbsnset_s_l nie można używać w aplikacji, których wykonywanie w czasie wykonywania systemu Windows.Aby uzyskać więcej informacji, zobacz CRT funkcje nie obsługiwane przez /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
);

Parametry

  • str
    Ciąg znaków ma być zmieniony.

  • numberOfElements
    Rozmiar str buforu.

  • c
    Ustawienie znaków.

  • count
    Liczba znaków do ustawienia.

  • locale
    Ustawienia regionalne używane.

Wartość zwracana

Zero, jeśli kończy się pomyślnie, w przeciwnym razie kod błędu.

Funkcje te sprawdzają poprawność swoich argumentów.Jeśli str nie jest prawidłowym ciągiem zakończonym znakiem null lub rozmiar argument jest mniejsza lub równa 0, a następnie program obsługi nieprawidłowy parametr jest wywoływana, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może kontynuować, te funkcje powrót kod błędu i zestaw errno z tym kodem błędu.Domyślny kod błędu jest EINVAL Jeśli bardziej określona wartość nie jest stosowana.

Uwagi

Te funkcje ustawione co najwyżej pierwszy count znaków z str do c.Jeśli count jest większa niż rozmiar str, rozmiar str jest używana zamiast count.Jeśli wystąpi błąd count jest większa niż numberOfElements i oba te parametry są większe niż rozmiar str.

_wcsnset_si _mbsnset_s szerokich znaków i znaków wielobajtowych wersje _strnset_s.Argument ciągu z _wcsnset_s jest ciągiem szerokich znaków; z _mbsnset_s jestłańcuch znaków.Zmienia tych trzech funkcji zachowanie takich samych nazwach.

Wartość produkcji jest zależny od ustawienia z LC_CTYPE kategorii ustawienie regionalne tzn. zobacz setlocale Aby uzyskać więcej informacji.Wersje te funkcje, bez _l sufiks Użyj bieżących ustawień regionalnych tego zachowania zależne od ustawień lokalnych; wersje z_l sufiks są identyczne z tym, że używają zamiast przekazany parametr ustawień regionalnych.Aby uzyskać więcej informacji, zobacz Ustawienia regionalne.

Wersje do debugowania tych funkcji najpierw wypełnić bufor z 0xFD.Aby wyłączyć to zachowanie, należy użyć _CrtSetDebugFillThreshold.

Tekst rodzajowy rutynowych mapowania

TCHAR.Rozpoczęto wykonywanie procedury h

_UNICODE & _MBCS nie zdefiniowany

_MBCS, definicja

_UNICODE, definicja

_tcsnset_s

_strnset_s

_mbsnbset_s

_wcsnset_s

_tcsnset_s_l

_strnset_s_l

_mbsnbset_s_l

_wcsnset_s_l

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

_strnset_s

<string.h>

_strnset_s_l

<tchar.h>

_wcsnset_s

<string.h> lub <wchar.h>

_wcsnset_s_l

<tchar.h>

_mbsnset_s, _mbsnset_s_l

<mbstring.h>

Aby uzyskać dodatkowe informacje o zgodności, zobacz zgodności we wprowadzeniu.

Przykład

// 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 );
}
  

Odpowiednik w programie .NET Framework

System::String::replace

Zobacz też

Informacje

Manipulowanie ciągami (CRT)

Ustawienia regionalne

Interpretacja sekwencje znaków wielobajtowych

strcat, wcscat, _mbscat

strcmp, wcscmp, _mbscmp

strcpy, wcscpy, _mbscpy

_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l