_setmbcp
Imposta una nuova tabella di codici multibyte.
int _setmbcp(
int codepage
);
Parametri
- codepage
Nuova impostazione della tabella di codici per le routine multibyte indipendenti dalle impostazioni locali.
Valore restituito
Restituisce 0 se la tabella dei codici è impostata in modo corretto. Se un valore non valido della tabella codici viene fornito per codepage, restituisce -1 e la tabella codici resta invariata. Imposta errno a EINVAL se si verifica un errore di allocazione della memoria.
Note
La funzione _setmbcp specifica una nuova tabella codici multibyte. Per impostazione predefinita, il sistema runtime imposta automaticamente la tabella codici multibyte alla tabella codici ANSI del sistema predefinito. L'impostazione della tabella codici multibyte influisce su tutte le routine multibyte che non sono dipendenti dalle impostazioni locali. Tuttavia, è possibile indicare a _setmbcp di utilizzare la tabella codici definita per le impostazioni locali correnti (vedere l'elenco seguente delle costanti manifesto e i risultati dei comportamenti registrati). Per un elenco delle routine multibyte dipendenti dalla tabella codici delle impostazioni locali anziché dalla tabella codici multibyte, vedere Interpretazione delle sequenze di caratteri multibyte.
La tabella codici multibyte influisce sull'elaborazione di caratteri multibyte dalle seguenti routine di libreria di runtime:
Inoltre, tutte le routine di libreria di runtime che ricevono il carattere multibyte argv o argomenti del programma di envp e i parametri (ad esempio i gruppi di _spawn e di _exec ) elaborano tali stringhe in base alla tabella codici multibyte. Di conseguenza, queste routine sono interessate da una chiamata a _setmbcp che modifica la tabella codici multibyte.
L'argomento codepage può essere impostato su uno dei valori che seguono:
_MB_CP_ANSI Utilizzare la tabella codici ANSI ottenuta dal sistema operativo all'avvio del programma.
_MB_CP_LOCALE Utilizzare la tabella codici corrente delle impostazioni locali ottenuta da una chiamata precedente a setlocale.
_MB_CP_OEM Utilizzare la tabella codici OEM ottenuta dal sistema operativo all'avvio del programma.
_MB_CP_SBCS Utilizzare la tabella codici a byte singolo. Quando la tabella codici è impostata su _MB_CP_SBCS, una routine come _ismbblead restituisce sempre false.
Qualsiasi altro valore valido della tabella codici, indipendentemente dal valore è di tipo ANSI, OEM, o un'altra tabella codici supportata dal sistema operativo (eccetto UTF-7 e la codifica UTF-8, che non sono supportate).
Requisiti
Routine |
Intestazione obbligatoria |
---|---|
_setmbcp |
<mbctype.h> |
Per ulteriori informazioni sulla compatibilità, vedere Compatibilità nell'introduzione.