C ++ wcrtomb () - C ++ Standardbibliotek

Funktionen wcrtomb () i C ++ konverterar ett brett tecken till dess smala multibyte-representation.

Wcrtomb () definieras i rubrikfilen.

wcrtomb () prototyp

 size_t wcrtomb (char * s, wchar_t wc, mbstate_t * ps);

Funktionen wcrtomb () omvandlar det breda tecknet som representeras av wc till ett smalt multibyt-tecken och lagras i den adress som s. Pekar på.

  • Om s inte är en nollpekare bestämmer wcrtomb () -funktionen det maximala antalet byte som krävs för att lagra multibytrepresentationen av wc och lagrar den i den minnesplats som pekas på av s. Högst MB_CUR_MAX byte kan skrivas. Värdet på ps uppdateras efter behov.
  • Om s är en nollpekare motsvarar samtalet wcrtomb(buf, L'', ps)för någon intern buffertbuff.
  • Om wc == L''lagras en nullbyte.

wcrtomb () Parametrar

  • s: pekare till multibyte-teckenmatrisen för att lagra resultatet.
  • wc: Bred karaktär att konvertera.
  • ps: Pekare till konverteringstillståndet som används vid tolkning av multibytsträngen

wcrtomb () Returvärde

  • Vid framgång returnerar funktionen wcrtomb () antalet byte skrivna till teckenmatrisen vars första element pekas på av s.
  • Vid misslyckande (dvs wc är inte ett giltigt brett tecken) returnerar det -1, errno är inställt på EILSEQ och lämnar * ps i ospecificerat tillstånd.

Exempel: Hur fungerar wcrtomb () -funktionen?

 #include #include #include using namespace std; int main() ( setlocale(LC_ALL, "en_US.utf8"); wchar_t str() = L"uu00c6u00f5u01b5"; char s(16); int retVal; mbstate_t ps = mbstate_t(); for (int i=0; i 

When you run the program, the output will be:

 Size of u is 1 bytes Size of Æ is 2 bytes Size of õ is 2 bytes Size of Ƶ is 2 bytes

Intressanta artiklar...