Condividi tramite


_mbsnbcat_s, _mbsnbcat_s_l

Aggiunge a una stringa di caratteri multibyte, al massimo, il primo byte di n di un'altra stringa di caratteri multibyte.Queste sono versioni di _mbsnbcat, _mbsnbcat_l che presentano miglioramenti della sicurezza, come descritto in Funzionalità di sicurezza in CRT.

Nota importanteImportante

Questa API non può essere utilizzato nelle applicazioni eseguite in Windows Runtime.Per ulteriori informazioni, vedere Funzioni CRT non supportate con /ZW.

errno_t _mbsnbcat_s(
   unsigned char *dest,
   size_t sizeInBytes,
   const unsigned char *src,
   size_t count 
);
errno_t _mbsnbcat_s_l(
   unsigned char *dest,
   size_t sizeInBytes,
   const unsigned char *src,
   size_t count,
   _locale_t locale
);
template <size_t size>
errno_t _mbsnbcat_s(
   unsigned char (&dest)[size],
   const unsigned char *src,
   size_t count 
); // C++ only
template <size_t size>
errno_t _mbsnbcat_s_l(
   unsigned char (&dest)[size],
   const unsigned char *src,
   size_t count,
   _locale_t locale
); // C++ only

Parametri

  • dest
    Stringa di destinazione con caratteri multibyte con terminazione null.

  • sizeInBytes
    Dimensione del buffer di dest in byte.

  • src
    Stringa di origine con caratteri multibyte con terminazione null.

  • Count
    Numero di byte da src da aggiungere a dest.

  • locale
    Impostazioni locali da utilizzare.

Valore restituito

Zero se ha esito positivo; in caso contrario, un codice di errore.

Condizioni di errore

Dest

sizeInBytes

src

Valore restituito

NULL

any

any

EINVAL

Uno

<= 0

any

EINVAL

Uno

any

NULL

EINVAL

Se una qualsiasi delle condizioni di errore si verifica, la funzione genera un errore non valido di parametro, come descritto in Convalida dei parametri.Se l'errore viene gestito, la funzione restituisce EINVAL e imposta errno a EINVAL.

Note

La funzione di _mbsnbcat_s aggiunge a dest, al massimo, il primo byte di count di src.Se il byte che precede immediatamente il carattere null in dest è un byte iniziale, viene sovrascritto da byte iniziale di src.In caso contrario, il byte iniziale di src sovrascrive il carattere di terminazione null di dest.Se un byte null visualizzato in src prima che i byte di count vengano aggiunti, _mbsnbcat_s aggiunge tutti i byte di src, fino al carattere null.Se count è maggiore della lunghezza di src, la lunghezza di src viene utilizzata al posto di count.La stringa di risultato viene interrotta da un carattere null.Se copiare è compresa tra stringhe che si sovrappongono, il comportamento è definito.

Il valore di output è interessato dall'impostazione dell'impostazione di categoria di LC_CTYPE delle impostazioni locali; vedere setlocale, _wsetlocale per ulteriori informazioni.Le versioni di queste funzioni sono identiche, eccetto quelli che non dispongano dell'utilizzo di _l le impostazioni locali correnti e quelle che eseguono il suffisso di _l utilizzare invece il parametro delle impostazioni locali passato.Per ulteriori informazioni, vedere Impostazioni locali.

In C++, l'utilizzo di queste funzioni è semplificato dagli overload del modello; gli overload possono dedurre la lunghezza del buffer automaticamente e quindi eliminare la necessità di specificare un argomento di dimensioni e possono utilizzare automaticamente il più recente, più funzioni protette per sostituire le funzioni precedenti e meno sicure.Per ulteriori informazioni, vedere Assicurarsi che gli overload del modello.

La versione di debug di queste funzioni per prima cosa riempiono il buffer con il valore 0xFD.Per disabilitare questo comportamento, utilizzare _CrtSetDebugFillThreshold.

Mapping di routine a Testo generico

Routine Tchar.h

_UNICODE e _MBCS non definiti

_MBCS definito

_UNICODE definito

_tcsncat

strncat

_mbsnbcat_s

wcsncat

_tcsncat_s_l

_strncat_s_l

_mbsnbcat_s_l

_wcsncat_s_l

Requisiti

Routine

Intestazione obbligatoria

_mbsnbcat_s

<mbstring.h>

_mbsnbcat_s_l

<mbstring.h>

Per ulteriori informazioni di compatibilità, vedere Compatibilità.

Equivalente .NET Framework

Non applicabile. Per chiamare la funzione standard C, utilizzare PInvoke. Per ulteriori informazioni, vedere Esempi di platform invoke.

Vedere anche

Riferimenti

Modifica delle stringhe (CRT)

_mbsnbcmp, _mbsnbcmp_l

_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l

_mbsnbcpy, _mbsnbcpy_l

_mbsnbcpy_s, _mbsnbcpy_s_l

_mbsnbset, _mbsnbset_l

strncat, _strncat_l, wcsncat, wcsncat_l, _mbsncat _mbsncat_l

strncat_s, _strncat_s_l, wcsncat_s, _wcsncat_s_l, _mbsncat_s, _mbsncat_s_l