C ++ mblen () - C ++ szabványos könyvtár

Az mblen () függvény C ++ - ban határozza meg a többbájtos karakter méretét (bájtokban).

Az mblen () függvény a fejlécfájlban van meghatározva.

mblen () prototípus (C ++ 11 szabvány szerint)

 int mblen (const char * s, méret_t max);

Az mblen () függvény két s és max argumentumot vesz fel, és egy egész értéket ad vissza. A mutató s egy többbájtos karakter első bájtjára mutat, amelynek méretét a függvény adja vissza.

mblen () Paraméterek

  • s: Többbájtos karakter vagy null mutató első bájtjának mutatója.
  • max: A vizsgálható bájtok maximális száma másodpercben.

mblen () Visszatérési érték

Ha s nullmutató, az mblen () hívása visszaállítja a belső konverziós állapotát, hogy képviselje a kezdeti váltási állapotot, és visszatér:

  • 0, ha az aktuális többbájtos kódolás nem állapotfüggő (nem használ eltolási szekvenciákat).
  • nem nulla érték, ha az aktuális többbájtos kódolás állapotfüggő (eltolási szekvenciákat használ).

Ha s nem null mutató, akkor az mblen () függvény visszatér:

  • a többbájtos karakterben lévő bájtok száma.
  • -1, ha az s által mutatott első bájtok nem képeznek érvényes többbájtos karaktert.
  • 0, ha s a „ 0” null karakterre mutat.

Példa: Hogyan működik az mblen () függvény a C ++ nyelven?

 #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; )

A program futtatásakor a kimenet a következő lesz:

 Többbájtos karakter hossza: 1

érdekes cikkek...