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

Funkcija wcstombs () C ++ paverčia plačią simbolių eilutę į lygiavertę kelių baitų seką.

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

wcstombs () prototipas

 dydis_t wcstombs (char * dest, const wchar_t * src, size_t max);

Funkcija wcstombs () užima tris argumentus ir pateikia sveiką skaičių.

Ši funkcija paverčia plačią simbolių eilutę, kurios pirmąjį elementą src nurodo į daugiabaitį vaizdą.

Rezultatas saugomas atminties vietoje, nurodytoje pask. Parametras „max“ reiškia didžiausią konvertuojamų plataus ženklų skaičių.

Konversijos mechanizmas yra toks pat, kaip ir ktakio, išskyrus tai, kad kaktos konversijos būsena neturi įtakos. Konversija sustabdoma, jei:

  • Aptinkamas nulinis simbolis, kuris tada konvertuojamas ir saugomas.
  • Rastas „wchar_t“, kuris neatitinka galiojančio simbolio dabartinėje C lokalėje.
  • konvertuotas maksimalus plačių simbolių skaičius.

wcstombs () parametrai

  • dest: Gauto daugiabačio simbolių masyvo žymeklis.
  • src: žymeklis į pirmąjį plataus simbolio elementą, kuris paverčiamas daugiabačiu simboliu.
  • maks .: maksimalus konvertuojamų plačių simbolių skaičius.

wcstombs () Grąžinimo vertė

  • Jei konversija bus sėkminga, „wcstombs“ () grąžins daugiabaitių simbolių skaičių, išskyrus baigiamąjį simbolį (ty „ 0“), įrašytą į paskirties masyvą.
  • Jei atliekant konversiją įvyksta kokia nors klaida, ji grąžina -1.

Pavyzdys: Kaip veikia wcstombs () funkcija?

 #include #include using namespace std; int main() ( wchar_t src() = L"Welcome To Programiz.com"; char dest(50); int num; num = wcstombs(dest, src, 50); cout << "Number of wide character converted = " << num << endl; cout << "Multibyte Character String = " << dest << endl; return 0; )

Kai paleisite programą, galimas rezultatas bus:

 Konvertuotų plačių simbolių skaičius = 24 daugiabačių simbolių eilutė = Sveiki atvykę į Programiz.com

Įdomios straipsniai...