Toiminto mbstowcs () C ++: ssa muuntaa monitavuisen merkkijonon vastaavaksi leveäksi merkkijonoksi.
Mbstowcs () -toiminto määritetään otsikkotiedostossa.
mbstowcs () -prototyyppi
size_t mbstowcs (wchar_t * dest, const char * src, size_t max);
Mbstowcs () -funktio vie kolme argumenttia ja palauttaa kokonaisluvun.
Tämä toiminto muuntaa monitavuisen merkkijonon, jonka src osoittaa ensimmäisen elementin sen laajaan merkkiin (tyyppi wchar_t -tyyppi).
Tulos tallennetaan muistin sijaintiin, jonka osoitti kohde. Parametri max edustaa muunnettavien monitavuisten merkkien enimmäismäärää.
Muunnosmekanismi on sama kuin mbtowc (): lla, paitsi että mbtowc-muunnostila ei muutu. Muunnos lopetetaan, jos:
- Kohditaan tyhjä merkki, joka muunnetaan ja tallennetaan.
- Virheellinen monitavuinen merkki.
- enimmäismäärä monitavuisia merkkejä on muunnettu.
mbstowcs () -parametrit
- dest: Osoitin saadulle laajalle hahmoryhmälle.
- src: Osoitin monitavuisen merkin ensimmäiselle elementille, joka muunnetaan leveäksi merkiksi.
- max: Muunnettavien monitavuisten merkkien enimmäismäärä.
mbstowcs () Palautusarvo
- Jos muunnos onnistuu, mbstowcs () palauttaa määränpään (" 0") sisältävän leveän merkin lukumäärän lukuun ottamatta lopetettavaa merkkiä.
- Jos muunnoksen aikana tapahtuu virhe, se palauttaa arvon -1.
Esimerkki: Kuinka mbstowcs () -toiminto toimii?
#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; )
Kun suoritat ohjelmaa, mahdollinen tulos on:
Muunnettujen leveiden merkkien lukumäärä = 1 leveä merkkijono = ─