C ++ mblen () - C ++ Standardbibliothek

Die Funktion mblen () in C ++ bestimmt die Größe (in Bytes) eines Multibyte-Zeichens.

Die Funktion mblen () ist in der Header-Datei definiert.

Prototyp mblen () (Stand C ++ 11)

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

Die Funktion mblen () verwendet zwei Argumente s und max und gibt einen ganzzahligen Wert zurück. Der Zeiger s zeigt auf das erste Byte eines Multibyte-Zeichens, dessen Größe von der Funktion zurückgegeben wird.

mblen () Parameter

  • s: Zeiger auf das erste Byte eines Multibyte-Zeichens oder eines Nullzeigers.
  • max: Maximale Anzahl von Bytes in s, die untersucht werden können.

mblen () Rückgabewert

Wenn s ein Nullzeiger ist, setzt ein Aufruf von mblen () seinen internen Konvertierungsstatus zurück, um den anfänglichen Verschiebungsstatus darzustellen, und gibt Folgendes zurück:

  • 0, wenn die aktuelle Multibyte-Codierung nicht zustandsabhängig ist (keine Verschiebungssequenzen verwendet).
  • Wert ungleich Null, wenn die aktuelle Multibyte-Codierung zustandsabhängig ist (verwendet Verschiebungssequenzen).

Wenn s kein Nullzeiger ist, gibt die Funktion mblen () Folgendes zurück:

  • Die Anzahl der Bytes, die im Multibyte-Zeichen enthalten sind.
  • -1, wenn die ersten Bytes, auf die s zeigt, kein gültiges Multibyte-Zeichen bilden.
  • 0, wenn s auf das Nullzeichen ' 0' zeigt.

Beispiel: Wie funktioniert die Funktion 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; )

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 Länge des Multibyte-Zeichens: 1

Interessante Beiträge...