Funkcija „mblen“ (C ++) nustato daugiabačio simbolio dydį (baitais).
Funkcija „mblen ()“ yra apibrėžta antraštės faile.
mblen () prototipas (Pagal C ++ 11 standartą)
int mblen (const char * s, dydis_t max);
Funkcija „mblen“) užima du argumentus s ir max ir pateikia sveiko skaičiaus vertę. Žymeklis s nurodo pirmąjį daugiabačio simbolio baitą, kurio dydį grąžina funkcija.
mblen () Parametrai
- s: žymeklis į pirmąjį daugiabačio simbolio baitą arba nulinį rodyklę.
- max: maksimalus baitų skaičius s, kuriuos galima ištirti.
mblen () Grąžinimo vertė
Jei s yra nulinis rodyklė, iškvietimas „mblen“ () iš naujo nustato savo vidinę konversijos būseną, kad atspindėtų pradinę poslinkio būseną, ir grąžina:
- 0, jei dabartinė kelių baitų koduotė nepriklauso nuo būsenos (nenaudoja poslinkio sekų).
- vertė nėra nulis, jei dabartinė kelių baitų koduotė priklauso nuo būsenos (naudojama poslinkio seka).
Jei s nėra nulinis rodyklė, funkcija mblen () grąžinama:
- baitų, esančių daugiabačiame simbolyje, skaičius.
- -1, jei pirmieji s nurodyti baitai nesudaro galiojančio daugiabačio simbolio.
- 0, jei s rodo nulinį simbolį „ 0“.
Pavyzdys: Kaip funkcija mblen () veikia 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; )
Kai paleisite programą, išvestis bus:
Daugiabačio simbolio ilgis: 1