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

Funkcija wctomb () C ++ paverčia platų simbolį daugiabačiu simboliu.

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

wctomb () prototipas

 int wctomb (char * pmb, wchar_t wc);

Funkcija wctomb () užima du argumentus ir pateikia sveiką skaičių. Ši funkcija konvertuoja platų simbolį, kurį vaizduoja wc, į daugiabaitį atitikmenį ir yra saugomas atminties vietoje, nurodytoje pmb. Maksimalus simbolių, kuriuos galima išsaugoti, skaičius yra MB_CUR_MAX .

Jei wc yra nulinis simbolis, nulinis baitas įrašomas į pmb.

Jei pmb yra nulinis rodiklis, iškvietimas į wctomb () nustatys visuotinę konversijos būseną ir nustatys, ar naudojamos poslinkio sekos.

wctomb () parametrai

  • pmb: Gauto daugiabačio simbolio žymeklis
  • wc: platus simbolis, paverstas daugiabačiu simboliu

wctomb () Grąžinimo vertė

Jei pmb nėra nulinis rodyklė, wctomb () grąžina:

  • baitų, esančių wc daugiabačiuose vaizduose, skaičius.
  • -1, jei wc nėra tinkamas simbolis.

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 wctomb () funkcija?

 #include #include using namespace std; int main() ( wchar_t wc = L'x'; char *pmb1 = (char*)malloc(sizeof(char)); char *pmb2 = NULL; int ret_val; cout << "When pmb is not null" << endl; ret_val = wctomb(pmb1, wc); cout << "Return Value = " << ret_val << endl; wcout << "Multibyte Character: " << pmb1 << endl << endl; cout << "When pmb is null" << endl; ret_val = wctomb(pmb2, wc); cout << "Return Value = " << ret_val << endl; wcout << "Multibyte Character: " << pmb2; return(0); )

Kai paleisite programą, galimas rezultatas bus:

 Kai pmb nėra nulinis Grąžinimo reikšmė = 1 kelių baitų simbolis: x↨R Kai pmb yra nulis grąžinama vertė = 0 daugiabačio simbolio:

Įdomios straipsniai...