C ++ wcstombs () - C ++ Standardbibliotek

Funktionen wcstombs () i C ++ konverterer en bred karakterstreng til ækvivalent multibytsekvens.

Funktionen wcstombs () er defineret i headerfilen.

wcstombs () prototype

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

Funktionen wcstombs () tager tre argumenter og returnerer en heltalværdi.

Denne funktion konverterer den brede tegnstreng, hvis første element peges af src til dens multibytrepræsentation.

Resultatet gemmes på det hukommelsessted, der er peget af dest. Parameteren max repræsenterer det maksimale antal brede tegn, der skal konverteres.

Konverteringsmekanismen er den samme som for wctomb, bortset fra at wctomb-konverteringstilstanden er upåvirket. Konverteringen stopper, hvis:

  • Der opstår et nul tegn, som derefter konverteres og gemmes.
  • Der blev fundet en wchar_t, der ikke svarer til et gyldigt tegn i den aktuelle C-lokalitet.
  • maks. antal brede tegn er konverteret.

wcstombs () Parametre

  • dest: Markør til det resulterende multibyte-tegnarray.
  • src: Markør til det første element i det brede tegn, der konverteres til multibyttegn.
  • max: Maksimalt antal brede tegn, der skal konverteres.

wcstombs () Returværdi

  • Hvis konverteringen er vellykket, returnerer wcstombs () antallet af multibyttegn eksklusive det afsluttende tegn (dvs. ' 0'), der skrives til destinationsarrayet.
  • Hvis der opstår en fejl under konvertering, returnerer den -1.

Eksempel: Hvordan fungerer wcstombs () -funktionen?

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

Når du kører programmet, vil en mulig output være:

 Antal konverterede brede tegn = 24 Multibyttegnstreng = Velkommen til Programiz.com

Interessante artikler...