La funzione mblen () in C ++ determina la dimensione (in byte) di un carattere multibyte.
La funzione mblen () è definita nel file di intestazione.
Prototipo mblen () (come dallo standard C ++ 11)
int mblen (const char * s, size_t max);
La funzione mblen () accetta due argomenti se max e restituisce un valore intero. Il puntatore s punta al primo byte di un carattere multibyte la cui dimensione è restituita dalla funzione.
Parametri mblen ()
- s: puntatore al primo byte di un carattere multibyte o un puntatore nullo.
- max: numero massimo di byte in s che possono essere esaminati.
mblen () Restituisce il valore
Se s è un puntatore nullo, una chiamata a mblen () ripristina il suo stato di conversione interno per rappresentare lo stato di spostamento iniziale e restituisce:
- 0 se la codifica multibyte corrente non è dipendente dallo stato (non utilizza sequenze di scorrimento).
- valore diverso da zero se la codifica multibyte corrente è dipendente dallo stato (utilizza sequenze di scorrimento).
Se s non è un puntatore nullo, la funzione mblen () restituisce:
- il numero di byte contenuti nel carattere multibyte.
- -1 se i primi byte puntati da s non formano un carattere multibyte valido.
- 0 se s punta al carattere nullo " 0".
Esempio: come funziona la funzione mblen () in C ++?
#include #include #include using namespace std; int main() ( int len; char *s = (char *)malloc(20); strcpy(s,"xe4xbdxa0xe5xa5xbd"); /* resets the conversion state */ mblen(NULL, 0); len = mblen(s,strlen(s)); cout << "Length of multibyte character: " << len << endl; return 0; )
Quando esegui il programma, l'output sarà:
Lunghezza del carattere multibyte: 1