_strnset
, _strnset_l
, _wcsnset
, _wcsnset_l
, _mbsnset
_mbsnset_l
Inizializza i caratteri di una stringa sul carattere specificato. Esistono versioni più sicure di queste funzioni; vedere _strnset_s
, _strnset_s_l
, _wcsnset_s
_wcsnset_s_l
, , _mbsnset_s
, . _mbsnset_s_l
Importante
_mbsnset
e _mbsnset_l
non possono essere usati nelle applicazioni eseguite in Windows Runtime. Per altre informazioni, vedere Funzioni CRT non supportate nelle app della piattaforma UWP (Universal Windows Platform).
Sintassi
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
);
Parametri
str
Stringa da modificare.
c
Impostazione del carattere.
count
Numero dei caratteri da impostare.
locale
Impostazioni locali da usare.
Valore restituito
Restituisce un puntatore alla stringa modificata.
Osservazioni:
La funzione _strnset
imposta al massimo i primi count
caratteri di str
su c
(convertiti in char
). Se count
è maggiore della lunghezza di str
, la lunghezza di str
viene usata invece di count
.
_wcsnset
e _mbsnset
sono versioni con caratteri wide e caratteri multibyte di _strnset
. Gli argomenti stringa e il valore restituito di _wcsnset
sono stringhe di caratteri wide. Gli argomenti stringa e il valore restituito di sono stringhe di _mbsnset
caratteri multibyte. A parte ciò, queste tre funzioni si comportano in modo identico.
_mbsnset
convalida i relativi parametri; se str
è un puntatore Null, viene richiamato il gestore di parametri non validi, come descritto in Convalida dei parametri . Se l'esecuzione può continuare, _mbsnset
restituisce NULL
e imposta errno
su EINVAL
. _strnset
e _wcsnset
non convalidare i relativi parametri.
Il valore di output è interessato dall'impostazione dell'impostazione LC_CTYPE
della categoria delle impostazioni locali. Per ulteriori informazioni, vedere setlocale
. Le versioni di queste funzioni senza il suffisso _l
usano le impostazioni locali correnti per questo comportamento dipendente dalle impostazioni locali. Le versioni con il suffisso _l
sono identiche ma usano il parametro passato relativo alle impostazioni locali. Per altre informazioni, vedere Locale.
Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.
Mapping di routine di testo generico
Routine TCHAR.H | _UNICODE e _MBCS non definito |
_MBCS definito |
_UNICODE definito |
---|---|---|---|
_tcsnset |
_strnset |
_mbsnbset |
_wcsnset |
_tcsnset_l |
_strnset_l |
_mbsnbset_l |
_wcsnset_l |
Requisiti
Ciclo | Intestazione obbligatoria |
---|---|
_strnset |
<string.h> |
_strnset_l |
<tchar.h> |
_wcsnset |
<string.h> o <wchar.h> |
_wcsnset_l |
<tchar.h> |
_mbsnset , _mbsnset_l |
<mbstring.h> |
Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).
Esempio
// 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
Vedi anche
Manipolazione delle stringhe
impostazioni locali
Interpretazione di sequenze di caratteri multibyte
strcat
, wcscat
, _mbscat
strcmp
, wcscmp
, _mbscmp
strcpy
, wcscpy
, _mbscpy
_strset
, _strset_l
, _wcsset
, _wcsset_l
, _mbsset
_mbsset_l