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.
Inicjuje znaki ciągu do danego znaku. Istnieją bezpieczniejsze wersje tych funkcji; zobacz , , _strnset_s_l
, _wcsnset_s
, _wcsnset_s_l
, _mbsnset_s
, _mbsnset_s_l
._strnset_s
Ważne
_mbsnset
nie można jej _mbsnset_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 *_strnset(
char *str,
int c,
size_t count
);
char *_strnset_l(
char *str,
int c,
size_t count,
_locale_t locale
);
wchar_t *_wcsnset(
wchar_t *str,
wchar_t c,
size_t count
);
wchar_t *_wcsnset_l(
wchar_t *str,
wchar_t c,
size_t count,
_locale_t locale
);
unsigned char *_mbsnset(
unsigned char *str,
unsigned int c,
size_t count
);
unsigned char *_mbsnset_l(
unsigned char *str,
unsigned int c,
size_t count,
_locale_t locale
);
Parametry
str
Ciąg do zmiany.
c
Ustawienie znaku.
count
Liczba znaków do ustawienia.
locale
Ustawienia regionalne do użycia.
Wartość zwracana
Zwraca wskaźnik do zmienionego ciągu.
Uwagi
Funkcja _strnset
ustawia najwyżej pierwsze count
znaki str
elementu na c
(przekonwertowane na char
). Jeśli count
wartość jest większa niż długość str
, używana jest długość str
elementu zamiast count
.
_wcsnset
i _mbsnset
są wersjami znaków wielobajtowych i wielobajtowych ._strnset
Argumenty ciągu i wartość zwracana wartości _wcsnset
to ciągi wieloznakowe. Argumenty ciągu i wartość zwracana wartości to ciągi wielobajtowe _mbsnset
znaków. Te trzy funkcje zachowują się identycznie inaczej.
_mbsnset
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 Weryfikacja parametru . Jeśli wykonywanie jest dozwolone do kontynuowania, _mbsnset
zwraca NULL
i ustawia wartość EINVAL
errno
. _strnset
i _wcsnset
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 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.
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 |
---|---|---|---|
_tcsnset |
_strnset |
_mbsnbset |
_wcsnset |
_tcsnset_l |
_strnset_l |
_mbsnbset_l |
_wcsnset_l |
Wymagania
Procedura | Wymagany nagłówek |
---|---|
_strnset |
<string.h> |
_strnset_l |
<tchar.h> |
_wcsnset |
<string.h> lub <wchar.h> |
_wcsnset_l |
<tchar.h> |
_mbsnset , _mbsnset_l |
<mbstring.h> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Przykład
// crt_strnset.c
// compile with: /W3
#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( string, '*', 4 ); // C4996
// Note: _strnset is deprecated; consider using _strnset_s
printf( "After: %s\n", string );
}
Before: This is a test
After: **** is a test
Zobacz też
Manipulowanie ciągami
ustawienia regionalne
Interpretacja sekwencji znaków wielobajtowych
strcat
, , wcscat
_mbscat
strcmp
, , wcscmp
_mbscmp
strcpy
, , wcscpy
_mbscpy
_strset
, , _strset_l
, _wcsset
, _wcsset_l
, , _mbsset
_mbsset_l