_strnset_s
, _strnset_s_l
, _wcsnset_s
, _wcsnset_s_l
, _mbsnset_s
_mbsnset_s_l
, _tcsnset_s
, , _tcsncset_s
_tcsncset_s_l
Inizializza i caratteri di una stringa sul carattere specificato. Queste versioni di _strnset
, _strnset_l
_wcsnset_l
_wcsnset
, _mbsnset
, _mbsnset_l
includono miglioramenti della sicurezza, come descritto in Funzionalità di sicurezza in CRT.
Importante
_mbsnset_s
e _mbsnset_s_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).
Per _tcsnset_s
, _tcsnset_s_l
, _tcsncset_s
e _tcsncset_s_l
vedere Mapping di funzioni di testo generico.
Sintassi
errno_t _strnset_s(
char *str,
size_t numberOfElements,
int c,
size_t count
);
errno_t _strnset_s_l(
char *str,
size_t numberOfElements,
int c,
size_t count,
_locale_t locale
);
errno_t _wcsnset_s(
wchar_t *str,
size_t numberOfElements,
wchar_t c,
size_t count
);
errno_t _wcsnset_s_l(
wchar_t *str,
size_t numberOfElements,
wchar_t c,
size_t count,
_locale_t locale
);
errno_t _mbsnset_s(
unsigned char *str,
size_t numberOfElements,
unsigned int c,
size_t count
);
errno_t _mbsnset_s_l(
unsigned char *str,
size_t numberOfElements,
unsigned int c,
size_t count,
_locale_t locale
);
Parametri
str
Stringa da modificare.
numberOfElements
Dimensioni del buffer di str
.
c
Impostazione del carattere.
count
Numero dei caratteri da impostare.
locale
Impostazioni locali da usare.
Valore restituito
Zero in caso di esito positivo e un codice di errore in caso contrario.
Queste funzioni convalidano i rispettivi argomenti. Se str
non è una stringa con terminazione Null valida o l'argomento size è minore o uguale a 0, viene richiamato il gestore di parametri non validi, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, queste funzioni restituiscono un codice di errore e impostano errno
su tale codice di errore. Il codice di errore predefinito è EINVAL
se non si applica un valore più specifico.
Osservazioni:
Queste funzioni impostano al massimo i primi count
caratteri di str
su c
. Se count
è maggiore delle dimensioni di str
, vengono usate le dimensioni di str
invece di count
. Si verifica un errore se count
è maggiore di numberOfElements
ed entrambi questi parametri sono maggiori delle dimensioni di str
.
_wcsnset_s
e _mbsnset_s
sono versioni con caratteri wide e caratteri multibyte di _strnset_s
. L'argomento stringa di è una stringa di _wcsnset_s
caratteri wide, ovvero una stringa di _mbsnset_s
caratteri multibyte. A parte ciò, queste tre funzioni si comportano in modo identico.
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.
Le versioni della libreria di debug di queste funzioni riempiono prima di tutto il buffer con 0xFE
. Per disabilitare questo comportamento, usare _CrtSetDebugFillThreshold
.
Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.
Mapping di funzioni di testo generico
La funzione nella tchar.h
colonna esegue il mapping alla funzione nelle altre colonne a seconda del set di caratteri definito in fase di compilazione.
Funzione tchar.h |
_UNICODE e _MBCS non definito |
_MBCS definito |
_UNICODE definito |
---|---|---|---|
_tcsnset_s |
_strnset_s |
_mbsnbset_s |
_wcsnset_s |
_tcsnset_s_l |
_strnset_s_l |
_mbsnbset_s_l |
_wcsnset_s_l |
_tcsncset_s |
_strnset_s |
_mbsnset_s |
_wcsnset_s |
_tcsncset_s_l |
_strnset_s_l |
_mbsnset_s_l |
_wcsnset_s_l |
Requisiti
Ciclo | Intestazione obbligatoria |
---|---|
_strnset_s |
<string.h> |
_strnset_s_l |
<tchar.h> |
_wcsnset_s |
<string.h> oppure <wchar.h> |
_wcsnset_s_l |
<tchar.h> |
_mbsnset_s , _mbsnset_s_l |
<mbstring.h> |
Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).
Esempio
// crt_strnset_s.c
#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_s( string, sizeof(string), '*', 4 );
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