C ++ mblen () - C ++ -kirjasto

Funktio mblen () C ++: ssa määrittää monitavuisen merkin koon (tavuina).

Mblen () -funktio määritetään otsikkotiedostossa.

mblen () -prototyyppi (standardin C ++ 11 mukaan)

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

Funktio mblen () vie kaksi argumenttia s ja max ja palauttaa kokonaisluvun. Osoitin s osoittaa monitavuisen merkin ensimmäisen tavun, jonka koko palauttaa funktio.

mblen () Parametrit

  • s: Osoitin monitavuisen merkin ensimmäiseen tavuun tai nollaosoittimeen.
  • max: Tutkittavien tavujen enimmäismäärä sekunteina.

mblen () Palautusarvo

Jos s on nollaosoitin, kutsu mblen () palauttaa sisäisen muunnostilan edustamaan alkuperäistä siirtotilaa ja palauttaa:

  • 0, jos nykyinen monitavuinen koodaus ei ole tilasta riippuvainen (ei käytä siirtosekvenssejä).
  • ei nolla-arvo, jos nykyinen monitavuinen koodaus on tilasta riippuvainen (käyttää siirtosekvenssejä).

Jos s ei ole nollaosoitin, funktio mblen () palauttaa:

  • monitavuisten merkkien tavujen lukumäärä.
  • -1, jos s: n ensimmäiset tavut eivät muodosta kelvollista monitavuista merkkiä.
  • 0, jos s osoittaa nollamerkkiä 0.

Esimerkki: Kuinka mblen () -toiminto toimii C ++: ssa?

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

Kun suoritat ohjelmaa, tulos on:

 Monitavuisten merkkien pituus: 1

Mielenkiintoisia artikkeleita...