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