_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l
Ustaw znaki ciągu do danego znaku.Bardziej bezpieczne wersje tych funkcji są dostępne w _strset_s, _strset_s_l, _wcsset_s, _wcsset_s_l, _mbsset_s, _mbsset_s_l.
![]() |
---|
_mbsset i _mbsset_l nie można używać w aplikacjach korzystających ze Środowisko wykonawcze systemu Windows.Aby uzyskać więcej informacji, zobacz Funkcje CRT nieobsługiwane przez /ZW. |
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 wartością null do ustawienia.c
Ustawienie znaków.locale
Ustawienia regionalne do użycia.
Wartość zwracana
Zwraca wskaźnik do zmienionego ciągu.
Uwagi
_strset funkcja ustawia wszystkie znaki (z wyjątkiem kończącego znaku null) z str do c, przekonwertowane na char._wcsset i _mbsset_l są wersjami znaków dwubajtowych i znaków wielobajtowych _strset, a typy danych argumentów i wartości zwracanych różnią się odpowiednio.W innych przypadkach funkcje te zachowują się identycznie.
_mbsset sprawdza poprawność parametrów.Jeśli str jest pustym wskaźnikiem, zostanie wywołana procedura obsługi nieprawidłowego parametru, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może być kontynuowane,_mbsset zwraca NULL i ustawia errno jako EINVAL._strset i _wcsset nie sprawdza poprawności ich parametrów.
Wartość wyjściowa jest zależna od konfiguracji ustawień kategorii LC_CTYPE ustawień regionalnych; zobacz setlocale, _wsetlocaleaby uzyskać więcej informacji.Wersje tych funkcji są identyczne, z tą różnicą, że te, które nie mają przyrostka _l używają bieżących ustawień regionalnych, natomiast te, które mają przyrostek _l używają parametru ustawień regionalnych, który jest przekazywany.Aby uzyskać więcej informacji, zobacz Regionalne.
![]() |
---|
Funkcje te mogą być narażone na zagrożenia przepełnienia buforu.Przekroczenie buforu może służyć do ataków systemu, ponieważ mogą one spowodować nieuzasadnione podniesienie uprawnień.Aby uzyskać więcej informacji, zobacz unikanie przekroczenia buforu. |
Rutynowe mapowania zwykłego tekstu
Procedura Tchar.h |
_UNICODE & _MBCS nie zdefiniowano |
_MBCS zdefiniowano |
_UNICODE zdefiniowany |
---|---|---|---|
_tcsset |
_strset |
_mbsset |
_wcsset |
_tcsset_l |
_strset_l |
_mbsset_l |
_wcsset_l |
Wymagania
Procedura |
Wymagany nagłówek |
---|---|
_strset |
<Ciąg> |
_strset_l |
<tchar.h> |
_wcsset |
<ciągo.h> lub <wchar.h> |
_wcsset_l |
<tchar.h> |
_mbsset, _mbsset_l |
<mbCiąg.h> |
Dodatkowe informacje 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 );
}
Odpowiednik w programie .NET Framework
Nie dotyczy. Aby wywołać standardową funkcję C, należy użyć PInvoke. Aby uzyskać więcej informacji, zobacz Przykłady wywołań platformy.
Zobacz też
Informacje
Interpretacja wielobajtowych sekwencji znaków
_strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l