Funkcija „mbstowcs ()“ C ++ paverčia kelių baitų simbolių eilutę į lygiavertę plačią simbolių seką.
Funkcija „mbstowcs ()“ apibrėžta antraštės faile.
mbstowcs () prototipas
size_t mbstowcs (wchar_t * dest, const char * src, size_t max);
Funkcija „mbstowcs ()“ užima tris argumentus ir pateikia sveiką skaičių.
Ši funkcija paverčia kelių baitų simbolių eilutę, kurios pirmąjį elementą src nurodo į platų simbolio (tipo wchar_t reikšmė) vaizdą.
Rezultatas saugomas atminties vietoje, nurodytoje pask. Parametras „max“ reiškia maksimalų konvertuojamų daugiabaitių simbolių skaičių.
Konversijos mechanizmas yra toks pats kaip „mbtowc“ (), išskyrus tai, kad mbtowc konversijos būsena neturi įtakos. Konversija sustabdoma, jei:
- Aptinkamas nulinis simbolis, kuris tada konvertuojamas ir saugomas.
- Aptinkamas neteisingas kelių baitų simbolis.
- konvertuotas maksimalus daugiabaitių simbolių skaičius.
mbstowcs () parametrai
- dest: Gauto plataus simbolių masyvo žymeklis.
- src: žymeklis į pirmąjį daugiabačio simbolio elementą, kuris paverčiamas plačiu simboliu.
- maks .: maksimalus konvertuojamų kelių baitų simbolių skaičius.
mbstowcs () Grąžinimo vertė
- Jei konversija bus sėkminga, „mbstowcs“ () grąžins plačių 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 „mbstowcs“) funkcija?
#include #include using namespace std; int main() ( char src() = "xc4xe3xbaxc3"; wchar_t dest(10); int num; num = mbstowcs(dest, src, MB_CUR_MAX); cout << "Number of wide character converted = " << num << endl; wcout << "Wide Character String = " << dest << endl; return 0; )
Kai paleisite programą, galimas rezultatas bus:
Konvertuotų plačių simbolių skaičius = 1 plati simbolių eilutė = ─