_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l

Ustawia znaki ciągu na znak. Dostępne są bezpieczniejsze wersje tych funkcji; zobacz , , _strset_s_l, _wcsset_s, _wcsset_s_l, _mbsset_s, _mbsset_s_l._strset_s

Ważne

_mbssetnie można jej _mbsset_l używać w aplikacjach wykonywanych w środowisko wykonawcze systemu Windows. Aby uzyskać więcej informacji, zobacz Funkcje CRT nieobsługiwane w aplikacjach platforma uniwersalna systemu Windows.

Składnia

char *_strset(
   char *str,
   int c
);
char *_strset_l(
   char *str,
   int c,
   _locale_t locale
);
wchar_t *_wcsset(
   wchar_t *str,
   wchar_t c
);
wchar_t *_wcsset_l(
   wchar_t *str,
   wchar_t c,
   _locale_t locale
);
unsigned char *_mbsset(
   unsigned char *str,
   unsigned int c
);
unsigned char *_mbsset_l(
   unsigned char *str,
   unsigned int c,
   _locale_t locale
);

Parametry

str
Ciąg zakończony o wartości null, który ma zostać ustawiony.

c
Ustawienie znaku.

locale
Ustawienia regionalne do użycia.

Wartość zwracana

Zwraca wskaźnik do zmienionego ciągu.

Uwagi

Funkcja _strset ustawia wszystkie znaki (z wyjątkiem znaku null zakończenia) str wartości na c, przekonwertowane na char. _wcsset i _mbsset_l są wersjami _strsetznaków szerokobajtowych i wielobajtowych , a typy danych argumentów i zwracanych wartości różnią się odpowiednio. Te funkcje zachowują się identycznie inaczej.

_mbsset weryfikuje jego parametry. Jeśli str jest wskaźnikiem o wartości null, wywoływana jest nieprawidłowa procedura obsługi parametrów, zgodnie z opisem w temacie Walidacja parametru. Jeśli wykonywanie jest dozwolone do kontynuowania, _mbsset zwraca NULL i ustawia wartość EINVALerrno . _strset i _wcsset nie weryfikuj ich parametrów.

Na wartość wyjściową ma wpływ ustawienie LC_CTYPE ustawienia kategorii ustawień regionalnych. W celu uzyskania więcej informacji, zobacz następujący temat: setlocale. Wersje tych funkcji są identyczne, z tą różnicą, że te, które nie mają _l sufiksu, używają bieżących ustawień regionalnych, a te, które mają _l sufiks, zamiast tego używają parametru ustawień regionalnych, który jest przekazywany. Aby uzyskać więcej informacji, zobacz Ustawienia regionalne.

Ważne

Te funkcje mogą być narażone na przepełnienie buforu zagrożeń. Przepełnienia buforu mogą służyć do ataków systemowych, ponieważ mogą powodować nieuzasadnione podniesienie uprawnień. Aby uzyskać więcej informacji, zobacz Unikanie przekroków buforu.

Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.

Mapowania procedur tekstu ogólnego

Procedura TCHAR.H _UNICODE i _MBCS niezdefiniowane _MBCS Zdefiniowane _UNICODE Zdefiniowane
_tcsset _strset _mbsset _wcsset
_tcsset_l _strset_l _mbsset_l _wcsset_l

Wymagania

Procedura Wymagany nagłówek
_strset <string.h>
_strset_l <Tchar.h>
_wcsset <string.h> lub <wchar.h>
_wcsset_l <Tchar.h>
_mbsset, _mbsset_l <mbstring.h>

Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.

Przykład

// crt_strset.c
// compile with: /W3

#include <string.h>
#include <stdio.h>

int main( void )
{
   char string[] = "Fill the string with something.";
   printf( "Before: %s\n", string );
   _strset( string, '*' ); // C4996
   // Note: _strset is deprecated; consider using _strset_s instead
   printf( "After:  %s\n", string );
}
Before: Fill the string with something.
After:  *******************************

Zobacz też

Manipulowanie ciągami
ustawienia regionalne
Interpretacja sekwencji znaków wielobajtowych
_mbsnbset, _mbsnbset_l
memset, wmemset
strcat, wcscat, _mbscat
strcmp, wcscmp, _mbscmp
strcpy, wcscpy, _mbscpy
_strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l