mbsrtowcs
Converte una stringa di caratteri multibyte a una stringa corrispondente i caratteri di tipo " wide ".Una versione più sicura di questa funzione è disponibile; vedere mbsrtowcs.
size_t mbsrtowcs(
wchar_t *wcstr,
const char **mbstr,
sizeof count,
mbstate_t *mbstate
);
template <size_t size>
size_t mbsrtowcs(
wchar_t (&wcstr)[size],
const char **mbstr,
sizeof count,
mbstate_t *mbstate
); // C++ only
Parametri
[out] wcstr
La posizione relativa stringa di caratteri estesi convertita risultante.[in] mbstr
Indirettamente punti al percorso della stringa di caratteri multibyte da convertire.[in] count
Il numero di caratteri da convertire.[in] mbstate
Un puntatore a un oggetto mbstate_t oggetto stato di conversione.
Valore restituito
Restituisce il numero delle parole correttamente convertito, escluso la parola null di terminazione null (se presenti), in caso contrario di un -1 se si è verificato un errore.
Note
mbsrtowcs la funzione converte una stringa di caratteri multibyte, a partire dallo stato specificato di conversione contenuto in mbstate, quindi aguzzo indiretto di valori in mbstr, l'indirizzo di wcstr.la conversione continuerà per ogni carattere fino a: dopo che un carattere multibyte di terminazione null viene rilevato, quando un carattere non concordante viene rilevato o quando il carattere successivo determinerebbe un overflow del limite contenuto in count.se mbsrtowcs rileva multibyte (" \ 0 " del carattere null) o prima o dopo count si verifica, lo converte in un carattere di terminazione di null a 16 bit e viene arrestato.
Pertanto, la stringa di caratteri estesi a wcstr è con terminazione null solo se mbsrtowcs rileva un carattere null multibyte durante la conversione.Se le sequenze puntassero da mbstr e wcstr sovrapposizione, il comportamento di mbsrtowcs è definito.mbsrtowcs è interessati alla categoria di LC_TYPE delle impostazioni locali correnti.
mbsrtowcs la funzione è diverso da mbstowcs, _mbstowcs_l dal restartability.Lo stato di conversione viene archiviato in mbstate per le chiamate successive agli stessi o ad altre funzioni restartable.I risultati vengono definiti quando si combinano l'utilizzo delle funzioni restartable e nonrestartable.Ad esempio, un'applicazione utilizzerebbe mbsrlen anziché mbslen, se una chiamata successiva a mbsrtowcs in cui utilizzato invece mbstowcs.
se wcstr l'argomento è NULL, mbsrtombs restituisce la dimensione richiesta nelle parole della stringa di destinazione.se mbstate è null, l'interno mbstate_t lo stato di conversione viene utilizzato.se la sequenza di caratteri wchar non dispone di una rappresentazione di caratteri multibyte corrispondente, -1 viene restituito e errno è impostato su EILSEQ.
se mbstr viene NULL, il gestore non valido di parametro viene richiamato, come descritto in Convalida dei parametri.Se l'esecuzione è consentita per continuare, set di questa funzione errno in EINVAL e restituisce -1.
In C++, la funzione presenta un overload del modello che richiama la più recente, controparte protetta della funzione.Per ulteriori informazioni, vedere Assicurarsi che gli overload del modello.
Eccezioni
mbsrtowcs la funzione è multithread-safe se nessuna funzione nelle chiamate del thread corrente setlocale questa funzione è in esecuzione e mbstate non è null.
Equivalente .NET Framework
Non applicabile. Per chiamare la funzione c standard, utilizzare PInvoke. Per ulteriori informazioni, vedere Esempi di pinvoke.
Requisiti
routine |
Intestazione di associazione |
---|---|
mbsrtowcs |
<wchar.h> |