Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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
_mbsset
nie 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 _strset
znakó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ść EINVAL
errno
. _strset
i _wcsset
nie weryfikuj ich parametrów.
Na wartość wyjściową ma wpływ ustawienie LC_CTYPE
ustawienia kategorii ustawień regionalnych. Aby uzyskać więcej informacji, zobacz 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 zdefiniowany |
_UNICODE zdefiniowany |
---|---|---|---|
_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