C ++ mblen () - Libreria standard C ++

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

Articoli interessanti...