Condividi tramite


_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