C ++ mblen () - C ++ standardowa biblioteka

Funkcja mblen () w C ++ określa rozmiar (w bajtach) znaku wielobajtowego.

Funkcja mblen () jest zdefiniowana w pliku nagłówkowym.

mblen () prototyp (w standardzie C ++ 11)

 int mblen (const char * s, size_t max);

Funkcja mblen () przyjmuje dwa argumenty s i max i zwraca wartość całkowitą. Wskaźnik s wskazuje na pierwszy bajt wielobajtowego znaku, którego rozmiar jest zwracany przez funkcję.

mblen () Parametry

  • s: wskaźnik do pierwszego bajtu znaku wielobajtowego lub wskaźnika zerowego.
  • max: Maksymalna liczba bajtów w s, które można sprawdzić.

mblen () Wartość zwracana

Jeśli s jest pustym wskaźnikiem, wywołanie mblen () resetuje swój wewnętrzny stan konwersji, aby reprezentować początkowy stan przesunięcia i zwraca:

  • 0, jeśli bieżące kodowanie wielobajtowe nie jest zależne od stanu (nie używa sekwencji przesunięć).
  • wartość niezerowa, jeśli bieżące kodowanie wielobajtowe jest zależne od stanu (używa sekwencji przesunięć).

Jeśli s nie jest pustym wskaźnikiem, funkcja mblen () zwraca:

  • liczba bajtów zawartych w znaku wielobajtowym.
  • -1, jeśli pierwsze bajty wskazywane przez s nie tworzą prawidłowego znaku wielobajtowego.
  • 0, jeśli s wskazuje na znak null „ 0”.

Przykład: Jak funkcja mblen () działa w 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; )

Po uruchomieniu programu wynik będzie następujący:

 Długość znaku wielobajtowego: 1

Interesujące artykuły...