C ++ mbstowcs () - C ++ - vakiokirjasto

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 = ─

Mielenkiintoisia artikkeleita...