Condividi tramite


_strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l

Inizializza i caratteri di una stringa con un carattere specifico. 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 utilizzate nelle applicazioni che vengono eseguite in Windows Runtime.Per ulteriori informazioni, vedere Funzioni CRT non supportate con /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
);

Parametri

  • str
    Stringa da modificare.

  • c
    Impostazione del carattere.

  • count
    Numero di caratteri da impostare.

  • locale
    Impostazioni locali da utilizzare.

Valore restituito

Restituisce un puntatore alla stringa modificata.

Note

La funzione _strnset imposta, al massimo, i primi count caratteri di str a c (convertiti in char). Se count è maggiore della lunghezza di str, la lunghezza di str viene utilizzata al posto di count.

_wcsnset e _mbsnset sono versioni a caratteri di tipo "wide" e di caratteri multibyte di _strnset. Gli argomenti della stringa e il valore restituito da _wcsnset sono stringhe di caratteri di tipo "wide", quelli di _mbsnset sono stringhe di caratteri multibyte. Altrimenti queste tre funzioni si comportano in modo identico.

_mbsnset convalida i suoi parametri; se str è un puntatore null, viene richiamato il gestore di parametro non valido, come descritto in Convalida dei parametri . Se l'esecuzione può continuare, _mbsnset ritorna NULL e imposta errno a EINVAL. _strnset e _wcsnset non convalidano i relativi parametri.

Il valore di output è interessato dall'impostazione di categoria LC_CTYPE delle impostazioni locali; vedere setlocale per ulteriori informazioni. Le versioni di queste funzioni senza il suffisso _l utilizzano le impostazioni locali correnti per il comportamento dipendente dalle impostazioni locali; le versioni con il suffisso_l sono identiche, ad eccezione del fatto che utilizzano il parametro delle impostazioni locali che viene passato. Per ulteriori informazioni, vedere Impostazioni locali.

Mapping di routine su testo generico

Routine TCHAR.H

_UNICODE & _MBCS non definiti

_MBCS definito

_UNICODE definito

_tcsnset

_strnset

_mbsnbset

_wcsnset

_tcsnset_l

_strnset_l

_mbsnbset_l

_wcsnset_l

Requisiti

Routine

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 ulteriori informazioni sulla compatibilità, vedere 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 );
}
  

Equivalente .NET Framework

System::String::Replace

Vedere anche

Riferimenti

Modifica di stringhe (CRT)

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