_strset_s
, , _strset_s_l
, _wcsset_s
, _wcsset_s_l
, , _mbsset_s
_mbsset_s_l
Ustawia znaki ciągu na znak. Te wersje programu _strset
, _strset_l
, _wcsset_l
_wcsset
, _mbsset
_mbsset_l
mają ulepszenia zabezpieczeń zgodnie z opisem w temacie Funkcje zabezpieczeń w narzędziu CRT.
Ważne
_mbsset_s
nie można jej _mbsset_s_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
errno_t _strset_s(
char *str,
size_t numberOfElements,
int c
);
errno_t _strset_s_l(
char *str,
size_t numberOfElements,
int c,
_locale_t locale
);
errno_t _wcsset_s(
wchar_t *str,
size_t numberOfElements,
wchar_t c
);
errno_t *_wcsset_s_l(
wchar_t *str,
size_t numberOfElements,
wchar_t c,
_locale_t locale
);
errno_t _mbsset_s(
unsigned char *str,
size_t numberOfElements,
unsigned int c
);
errno_t _mbsset_s_l(
unsigned char *str,
size_t numberOfElements,
unsigned int c,
_locale_t locale
);
Parametry
str
Ciąg zakończony o wartości null, który ma zostać ustawiony.
numberOfElements
Rozmiar buforu str
.
c
Ustawienie znaku.
locale
Ustawienia regionalne do użycia.
Wartość zwracana
Zero, jeśli się powiedzie, w przeciwnym razie kod błędu.
Te funkcje weryfikują swoje argumenty. Jeśli str
jest wskaźnikiem o wartości null lub numberOfElements
argument jest mniejszy lub równy 0, albo blok przekazany w elemmencie nie kończy się wartością null, wywoływana jest nieprawidłowa procedura obsługi parametrów, zgodnie z opisem w temacie Walidacja parametrów. Jeśli wykonanie jest dozwolone do kontynuowania, te funkcje zwracają EINVAL
i ustawiają wartość errno
EINVAL
.
Uwagi
Funkcja _strset_s
ustawia wszystkie znaki str
na c
(przekonwertowane na char
), z wyjątkiem znaku null zakończenia. _wcsset_s
i _mbsset_s
są wersjami znaków wielobajtowych i wielobajtowych ._strset_s
Typy danych argumentów i zwracane wartości różnią się odpowiednio. Te funkcje zachowują się identycznie inaczej.
Na wartość wyjściową ma wpływ ustawienie LC_CTYPE
ustawienia kategorii ustawień regionalnych. Aby uzyskać więcej informacji, zobacz setlocale
. Wersje tych funkcji bez sufiksu _l
używają bieżących ustawień regionalnych dla tego zachowania zależnego od ustawień regionalnych. Wersje z _l
sufiksem są identyczne, z tą różnicą, że używają parametru ustawień regionalnych przekazanych zamiast. Aby uzyskać więcej informacji, zobacz Ustawienia regionalne.
Wersje biblioteki debugowania tych funkcji najpierw wypełniają bufor 0xFE. Aby wyłączyć to zachowanie, użyj polecenia _CrtSetDebugFillThreshold
.
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_s |
_strset_s |
_mbsset_s |
_wcsset_s |
_tcsset_s_l |
_strset_s_l |
_mbsset_s_l |
_wcsset_s_l |
Wymagania
Procedura | Wymagany nagłówek |
---|---|
_strset_s |
<string.h> |
_strset_s_l |
<tchar.h> |
_wcsset_s |
<string.h> lub <wchar.h> |
_wcsset_s_l |
<tchar.h> |
_mbsset_s , _mbsset_s_l |
<mbstring.h> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Przykład
// crt_strset_s.c
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
int main( void )
{
char string[] = "Fill the string with something.";
printf( "Before: %s\n", string );
_strset_s( string, _countof(string), '*' );
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