Udostępnij za pośrednictwem


_strnset_s, _strnset_s_l, _wcsnset_s, _wcsnset_s_l, _mbsnset_s, _mbsnset_s_l

Inicjuje znaki ciągu do danego znaku.Te wersje _strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l mają wzmocnienia zabezpieczeń, jak opisano w Funkcje zabezpieczeń w CRT.

Ważna uwagaWażne

_mbsnset_s i _mbsnset_s_l nie można używać w aplikacjach korzystających ze środowiska wykonawczego systemu Windows.Aby uzyskać więcej informacji, zobacz Funkcje CRT nieobsł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 do zmiany.

  • numberOfElements
    Rozmiar buforu str.

  • c
    Ustawienie znaków.

  • count
    Liczba znaków, które mają być ustawione.

  • locale
    Ustawienia regionalne do użycia.

Wartość zwracana

Zero, jeśli operacja się powiedzie; w przeciwnym razie, kod błędu.

Te funkcje sprawdzają poprawność swoich argumentów.Jeśli str nie jest ważnym ciągiem zakończonym znakiem null lub argument rozmiaru jest mniejszy niż lub równy 0, wówczas procedura obsługi nieprawidłowego parametru zostanie wywołana, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może być kontynuowane, te funkcje zwracają kod błędu i ustawiają errno do tego kodu błędu.Domyślny kod błędu to EINVAL jeśli bardziej określona wartość nie jest stosowana.

Uwagi

Te funkcje ustawiają, głownie pierwsze count znaki str do c.Jeśli count jest większy niż rozmiar str, rozmiar str jest używany w zamian count.Wystąpi błąd jeśli count jest większy od numberOfElements i oba te parametry są większe niż rozmiar str.

_wcsnset_s i _mbsnset_s są wersjami znaków dwubajtowych i znaków wielobajtowych _strnset_s.Argument ciągu _wcsnset_s jest ciągiem szerokich znaków ; z _mbsnset_s jestciąg znaków wielobajtowych.Te trzy funkcje w innych wypadkach zachowują się identycznie.

Wartość wyjściowa jest zależna od konfiguracji ustawień kategorii LC_CTYPE ustawień regionalnych; zobacz setlocale, aby uzyskać więcej informacji.Wersje tych funkcji, które nie mają przyrostka _l używają bieżących ustawień regionalnych dla wszelkich zachowań zależnych od ustawień lokalnych; wersje, które mają przyrostek _l są identyczne, z tą różnicą, że w zamian korzystają z przekazanego parametru ustawień regionalnych.Aby uzyskać więcej informacji, zobacz Regionalne.

Wersje debugowania tych funkcji najpierw wypełniają bufor 0xFD.Aby wyłączyć to zachowanie, użyj _CrtSetDebugFillThreshold.

Rutynowe mapowania zwykłego tekstu

Procedura Tchar.h

_UNICODE & _MBCS nie zdefiniowano

_MBCS zdefiniowano

_UNICODE zdefiniowany

_tcsnset_s

_strnset_s

_mbsnbset_s

_wcsnset_s

_tcsnset_s_l

_strnset_s_l

_mbsnbset_s_l

_wcsnset_s_l

Wymagania

Procedura

Wymagany nagłówek

_strnset_s

<Ciąg>

_strnset_s_l

<tchar.h>

_wcsnset_s

<ciągo.h> lub <wchar.h>

_wcsnset_s_l

<tchar.h>

_mbsnset_s, _mbsnset_s_l

<mbCiąg.h>

Dodatkowe informacje o zgodności – zobacz: Zgodność.

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

Zamień ciągi systemu

Zobacz też

Informacje

Manipulowanie ciągami (CRT)

Regionalne

Interpretacja wielobajtowych sekwencji znaków

strcat, wcscat, _mbscat

strcmp, wcscmp, _mbscmp

strcpy, wcscpy, _mbscpy

_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l