_strnset
, , _strnset_l
, _wcsnset
, _wcsnset_l
, , _mbsnset
_mbsnset_l
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