_mbsnbcat_s, _mbsnbcat_s_l
Aggiunge in fondo a una stringa di caratteri multibyte, al massimo, i primi n byte di un'altra stringa di caratteri multibyte. Queste sono versioni di _mbsnbcat, _mbsnbcat_l che hanno miglioramenti della sicurezza, come descritto in Funzionalità di sicurezza in CRT.
Importante
Questa API non può essere utilizzata 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 a caratteri multibyte con terminazione null.sizeInBytes
Dimensione, in byte, del buffer dest.src
Stringa di origine con caratteri multibyte con terminazione null.Count
Numero di byte della src da aggiungere a dest.locale
Impostazioni locali da utilizzare.
Valore restituito
Zero in caso di esito positivo; un codice di errore altrimenti.
Condizioni di errore
Dest |
sizeInBytes |
src |
Valore restituito |
---|---|---|---|
NULL |
any |
any |
EINVAL |
Uno |
<= 0 |
any |
EINVAL |
Uno |
any |
NULL |
EINVAL |
Se si verifica una qualsiasi condizione di errore, la funzione genera un errore di parametro non valido, come descritto in Convalida dei parametri. Se l'errore viene gestito, la funzione restituisce EINVAL e imposta errno a EINVAL.
Note
La funzione _mbsnbcat_s aggiunge in fondo a dest, al massimo, i primi count byte di src. Se il byte immediatamente prima del carattere null in dest è un byte di apertura, viene sovrascritto dal byte iniziale di src. In caso contrario, il byte iniziale src sovrascrive il carattere di terminazione null di dest. Se un byte null viene visualizzato in src prima che count byte vengano aggiunti, _mbsnbcat_s aggiunge tutti i byte da src fino al carattere null. Se count è maggiore della lunghezza di src, la lunghezza src viene utilizzata al posto di count. La stringa risultante è terminata da un carattere null. Se la copia avviene tra stringhe che si sovrappongono, il comportamento non è definito.
Il valore di output è interessato dall'impostazione dell'impostazione della categoria LC_CTYPE delle impostazioni locali. Vedere setlocale, _wsetlocale per ulteriori informazioni. Le versioni di queste funzioni sono identiche, eccetto una non avente il suffisso _l che usa le impostazioni locali e l'altra che invece possiede il suffisso _l usa i parametri locali passati. Per ulteriori informazioni, vedere Impostazioni locali.
In C++ l'utilizzo di queste funzioni è semplificato dagli overload dei modelli; gli overload possono dedurre la lunghezza del buffer automaticamente eliminando quindi la necessità di specificare la dimensione tramite un argomento e possono utilizzare automaticamente le funzioni più recenti e sicure che rimpiazzano quelle più vecchie e non sicure. Per ulteriori informazioni, vedere Overload di modelli sicuri.
La versione di debug di queste funzioni per prima cosa riempiono il buffer con il valore 0xFD. Per disattivare questo comportamento, utilizzare _CrtSetDebugFillThreshold.
Mapping di routine di testo generico
Routine Tchar.h |
_UNICODE e _MBCS non definiti |
_MBCS definito |
_UNICODE definito |
---|---|---|---|
_tcsncat |
_mbsnbcat_s |
||
_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 sulla 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
_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_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