_strset
, _strset_l
, _wcsset
, _wcsset_l
, _mbsset
_mbsset_l
Imposta i caratteri di una stringa su un carattere. Sono disponibili versioni più sicure di queste funzioni; vedere _strset_s
, _strset_s_l
, _wcsset_s
_wcsset_s_l
, , _mbsset_s
, . _mbsset_s_l
Importante
_mbsset
e _mbsset_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 *_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
);
Parametri
str
Stringa con terminazione Null da impostare.
c
Impostazione del carattere.
locale
Impostazioni locali da usare.
Valore restituito
Restituisce un puntatore alla stringa modificata.
Osservazioni:
La funzione _strset
imposta tutti i caratteri di str
su c
(convertito in char
), tranne il carattere di terminazione Null. _wcsset
e _mbsset_l
sono le versioni a caratteri wide e a caratteri multibyte di _strset
e i tipi di dati degli argomenti e dei valori restituiti variano di conseguenza. A parte ciò, queste funzioni si comportano in modo identico.
_mbsset
convalida i propri 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, _mbsset
restituisce NULL
e imposta errno
su EINVAL
. _strset
e _wcsset
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 sono identiche, ad eccezione che quelle che non dispongono del suffisso _l
usano le impostazioni locali correnti, mentre quelle che dispongono del suffisso _l
usano il parametro delle impostazioni locali passato. Per altre informazioni, vedere Locale.
Importante
Queste funzioni potrebbero essere vulnerabili a rischi di sovraccarico del buffer. I sovraccarichi del buffer possono essere utilizzati per gli attacchi di sistema perché possono causare un'elevazione dei privilegi non autorizzata. Per altre informazioni, vedere Evitare sovraccarichi del buffer.
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 |
---|---|---|---|
_tcsset |
_strset |
_mbsset |
_wcsset |
_tcsset_l |
_strset_l |
_mbsset_l |
_wcsset_l |
Requisiti
Ciclo | Intestazione obbligatoria |
---|---|
_strset |
<string.h> |
_strset_l |
<tchar.h> |
_wcsset |
<string.h> o <wchar.h> |
_wcsset_l |
<tchar.h> |
_mbsset , _mbsset_l |
<mbstring.h> |
Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).
Esempio
// 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 );
}
Before: Fill the string with something.
After: *******************************
Vedi anche
Manipolazione delle stringhe
impostazioni locali
Interpretazione di sequenze di caratteri multibyte
_mbsnbset
, _mbsnbset_l
memset
, wmemset
strcat
, wcscat
, _mbscat
strcmp
, wcscmp
, _mbscmp
strcpy
, wcscpy
, _mbscpy
_strnset
, _strnset_l
, _wcsnset
, _wcsnset_l
, _mbsnset
_mbsnset_l