C ++ mbtowc () - C ++ - vakiokirjasto

Toiminto mbtowc () C ++: ssa muuntaa monitavuisen merkin leveäksi merkiksi.

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

mbtowc () -prototyyppi

 int mbtowc (wchar_t * pwc, const char * pmb, koko_t max);

Mbtowc () -funktio vie kolme argumenttia ja palauttaa kokonaisluvun. Tämä toiminto muuntaa pmb: n osoittaman monitavuisen merkin leveäksi merkiksi (tyypin wchar_t arvo) ja tallennetaan pwc: n osoittamaan muistipaikkaan.

Jos pmb on nollaosoitin, kutsu mbtowc () nollaa yleisen muunnostilan ja määrittää, käytetäänkö siirtosekvenssejä.

mbtowc () -parametrit

  • pwc: Osoitin saadulle laajalle luonnolle
  • pmb: Osoitin monitavuiseen merkkiin, joka muunnetaan leveäksi merkiksi
  • max: Suurin mahdollinen monitavuisen merkin koko tavuina.

mbtowc () Palautusarvo

Jos pmb ei ole nollaosoitin, mbtowc () palauttaa:

  • pmb: n osoittaman monitavuisen merkin tavujen lukumäärä.
  • -1, jos pmb: n osoittama ensimmäinen tavu ei muodosta kelvollista monitavuista merkkiä.
  • 0, jos pmb osoittaa lopetettavaa nollamerkkiä eli 0.

Jos pmb on nollaosoitin, palauttaa sen sisäisen muuntotilan edustamaan alkuperäistä siirtotilaa ja palauttaa:

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

Esimerkki: Kuinka mbtowc () -toiminto toimii?

 #include #include #include using namespace std; int main() ( char pmb() = "Welcome to Programiz.com"; wchar_t pwc(100); int len, ret_val; /* resets internal conversion state */ mbtowc (NULL, NULL, 0); len = strlen(pmb); ret_val = mbtowc(pwc, pmb, strlen(pmb)); cout << "Return Value = " << ret_val << endl; wcout << "Wide character string: " << pwc; return(0); )

Kun suoritat ohjelmaa, mahdollinen tulos on:

 Palautusarvo = 1 Leveä merkkijono: W @

Mielenkiintoisia artikkeleita...