C ++ mbstowcs () - C ++ Standardbibliotek

Funksjonen mbstowcs () i C ++ konverterer en multibyte-tegnstreng til ekvivalent bred tegnsekvens.

Funksjonen mbstowcs () er definert i topptekstfilen.

mbstowcs () prototype

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

Funksjonen mbstowcs () tar tre argumenter og returnerer en heltallverdi.

Denne funksjonen konverterer multibyte-tegnstrengen hvis første element pekes av src til dens brede karakter (verdi av typen wchar_t).

Resultatet lagres på minnestedet som dest. Parameteren maks representerer det maksimale antallet multibyte tegn som skal konverteres.

Konverteringsmekanismen er den samme som for mbtowc (), bortsett fra at mbtowc-konverteringstilstanden er upåvirket. Konverteringen stopper hvis:

  • Det oppstår et null-tegn som deretter konverteres og lagres.
  • Det oppstår et ugyldig multibyttegn.
  • maksimalt antall multibyte tegn er konvertert.

mbstowcs () Parametere

  • dest: peker til det resulterende brede tegnsettet.
  • src: peker til det første elementet i multibyte-tegnet som konverteres til bredt tegn.
  • maks: Maksimalt antall multibyte tegn som skal konverteres.

mbstowcs () Returverdi

  • Hvis konverteringen er vellykket, returnerer mbstowcs () antallet brede tegn unntatt det avsluttende tegnet (dvs. ' 0') som skrives til destinasjonsmatrisen.
  • Hvis det oppstår feil under konverteringen, returnerer den -1.

Eksempel: Hvordan fungerer mbstowcs ()?

 #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; )

Når du kjører programmet, vil en mulig utgang være:

 Antall bredt tegn konvertert = 1 bred tegnstreng = ─

Interessante artikler...