C ++ mbtowc () - C ++ standartinė biblioteka

Funkcija „mbtowc“ (C ++) paverčia kelių baitų simbolį plačiu simboliu.

Funkcija mbtwoc () yra apibrėžta antraštės faile.

mbtowc () prototipas

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

Funkcija „mbtowc ()“ užima tris argumentus ir pateikia sveiką skaičių. Ši funkcija paverčia pmb nurodytą daugiabaitį simbolį į platųjį simbolį (tipo wchar_t vertė) ir yra saugoma atminties vietoje, kurią rodo pwc.

Jei pmb yra nulinis rodiklis, iškvietimas „mbtowc“ () atkuria visuotinę konversijos būseną ir nustato, ar naudojamos poslinkio sekos.

mbtowc () parametrai

  • pwc: Gauto plataus personažo žymeklis
  • pmb: daugiabačio simbolio, kuris paverčiamas plačiu simboliu, žymeklis
  • maks .: maksimalus dydis MB, kurį reikia atsižvelgti į daugiabaitį simbolį.

mbtowc () Grąžinimo vertė

Jei pmb nėra nulinis rodyklė, „mbtowc“ () grąžina:

  • baitų, esančių pmb nurodytame daugiabačiame simbolyje, skaičius.
  • -1, jei pirmasis bmb, nurodytas pmb, nesudaro galiojančio daugiabačio simbolio.
  • 0, jei pmb rodo baigiantį nulinį simbolį, ty „ 0“.

Jei pmb yra nulinis rodyklė, iš naujo nustatoma jo vidinė konversijos būsena, kuri atspindi pradinę poslinkio būseną, ir grąžina:

  • 0, jei dabartinė kelių baitų koduotė nepriklauso nuo būsenos (nenaudojamos poslinkio sekos)
  • reikšmė ne nulis, jei dabartinė kelių baitų koduotė priklauso nuo būsenos (naudojama poslinkio seka).

Pavyzdys: Kaip veikia „mbtowc“ () funkcija?

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

Kai paleisite programą, galimas rezultatas bus:

 Grąžinimo vertė = 1 Plati simbolių eilutė: W @

Įdomios straipsniai...