_strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l
Inicjuje znaki ciągu do danego znaku.Istnieją bardziej bezpieczne wersje tych funkcji są dostępne; patrz _strnset_s, _strnset_s_l, _wcsnset_s, _wcsnset_s_l, _mbsnset_s, _mbsnset_s_l.
Ważne |
---|
_mbsnset i _mbsnset_l nie można używać w aplikacjach korzystających ze środowiska wykonawczego systemu Windows.Aby uzyskać więcej informacji, zobacz Funkcje CRT nieobsługiwane przez /ZW. |
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 znaków.count
Liczba znaków, które mają być ustawione.locale
Ustawienia regionalne do użycia.
Wartość zwracana
Zwraca wskaźnik do zmienionego ciągu.
Uwagi
_strnset funkcja dołącza co najwyżej pierwsze count znaki z str do c.(konwertowane do char).Jeśli count jest większa niż długość str, długość str jest używana w zamian count.
_wcsnset i _mbsnset są wersjami znaków dwubajtowych i znaków wielobajtowych _strnset.Argumenty ciągu i wartość zwracana przez _wcsnset są ciągami znaków dwubajtowych; te z _mbsnset są ciągami znaków wielobajtowych.Te trzy funkcje w innych wypadkach zachowują się identycznie.
_mbsnset sprawdza poprawność parametrów; jeśli str jest pustym wskaźnikiem, zostanie wywołana nieprawidłowa procedura obsługi parametrów, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może być kontynuowane, _mbsnset zwraca wartość NULL i ustawia errno jako EINVAL._strnset i _wcsnset nie sprawdza poprawności ich parametrów.
Wartość wyjściowa jest zależna od konfiguracji ustawień kategorii LC_CTYPE ustawień regionalnych; zobacz setlocale, aby uzyskać więcej informacji.Wersje tych funkcji, które nie mają przyrostka _l używają bieżących ustawień regionalnych dla wszelkich zachowań zależnych od ustawień lokalnych; wersje, które mają przyrostek _l są identyczne, z tą różnicą, że w zamian korzystają z przekazanego parametru ustawień regionalnych.Aby uzyskać więcej informacji, zobacz Regionalne.
Rutynowe mapowania zwykłego tekstu
Procedura Tchar.h |
_UNICODE & _MBCS nie zdefiniowano |
_MBCS zdefiniowano |
_UNICODE zdefiniowany |
---|---|---|---|
_tcsnset |
_strnset |
_mbsnbset |
_wcsnset |
_tcsnset_l |
_strnset_l |
_mbsnbset_l |
_wcsnset_l |
Wymagania
Procedura |
Wymagany nagłówek |
---|---|
_strnset |
<Ciąg> |
_strnset_l |
<tchar.h> |
_wcsnset |
<ciągo.h> lub <wchar.h> |
_wcsnset_l |
<tchar.h> |
_mbsnset, _mbsnset_l |
<mbCiąg.h> |
Dodatkowe informacje 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 );
}