C ++ mbtowc () - C ++ standardraamatukogu

Funktsioon mbtowc () funktsioonis C ++ teisendab mitmebaidise märgi laiaks.

Funktsioon mbtwoc () on määratletud päisefailis.

mbtowc () prototüüp

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

Funktsioon mbtowc () võtab kolm argumenti ja tagastab täisarvu. See funktsioon teisendab pmb-ga osutatava mitmebaidise tähemärgi laiaks tähemärgiks (tüübi wchar_t väärtus) ja salvestatakse pwc poolt osutatavasse mälukohta.

Kui pmb on nullkursor, lähtestab kutse mbtowc () globaalse teisenduse oleku ja määrab, kas kasutatakse nihkejada.

mbtowc () parameetrid

  • pwc: saadud laia iseloomu osutaja
  • pmb: mitmebaidise tähe kursor, mis teisendatakse laia tähemärgiks
  • max: maksimaalne suurus baasides MB-des, mida tuleb arvestada mitmebaidise tähemärgi puhul.

mbtowc () Tagastusväärtus

Kui pmb ei ole nullkursor, tagastab mbtowc ():

  • baitide arv, mis sisalduvad mitmebaidises tähemärgis, mille osutab pmb.
  • -1, kui esimene bmb, mille pmb osutab, ei moodusta kehtivat mitmebaidist märki.
  • 0, kui pmb osutab lõpetavale nullmärgile, st ' 0'.

Kui pmb on nullkursor, lähtestab selle sisemine teisenduse olek esindama algset nihkeolekut ja tagastab:

  • 0, kui praegune mitmebaidine kodeering ei sõltu olekust (ei kasuta nihkejärjestusi)
  • nullist erinev väärtus, kui praegune mitmebaidine kodeering sõltub olekust (kasutab nihkjärjestusi).

Näide: Kuidas funktsioon mbtowc () töötab?

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

Programmi käivitamisel on võimalik väljund:

 Tagastusväärtus = 1 Lai tähemärk: W @

Huvitavad Artiklid...