C ++ mbstowcs () - C ++ standarta bibliotēka

Funkcija mbstowcs () C ++ pārveido daudzbaitu rakstzīmju virkni līdzvērtīgā plašā rakstzīmju secībā.

Funkcija mbstowcs () ir definēta galvenes failā.

mbstowcs () prototips

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

Funkcija mbstowcs () aizņem trīs argumentus un atgriež veselu skaitli.

Šī funkcija pārveido daudzbaitu rakstzīmju virkni, kuras pirmo elementu src norāda uz tā plašo raksturu (tipa wchar_t vērtība).

Rezultāts tiek saglabāts atmiņas vietā, kuru norāda galamērķis. Parametrs max apzīmē maksimālo konvertējamo daudzbaitu rakstzīmju skaitu.

Pārveidošanas mehānisms ir tāds pats kā mbtowc (), izņemot to, ka mbtowc konversijas stāvoklis netiek ietekmēts. Reklāmguvums tiek pārtraukts, ja:

  • Tiek sastapta nulles rakstzīme, kas pēc tam tiek pārveidota un saglabāta.
  • Radās nederīga daudzbaitu rakstzīme.
  • ir pārveidots maksimālais daudzbaitu rakstzīmju skaits.

mbstowcs () parametri

  • dest: Rādītājs uz iegūto plašo rakstzīmju masīvu.
  • src: daudzbaitu rakstzīmju pirmā elementa rādītājs, kas tiek pārveidots par plašu rakstzīmi.
  • max: maksimālais konvertējamo daudzbaitu rakstzīmju skaits.

mbstowcs () Atgriežamā vērtība

  • Ja konvertēšana ir veiksmīga, mbstowcs () atgriež plašo rakstzīmju skaitu, izņemot beigu rakstzīmi (ti, ' 0'), kas ierakstīta galamērķa masīvā.
  • Ja pārveidošanas laikā rodas kāda kļūda, tā atgriež -1.

Piemērs: Kā darbojas funkcija 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; )

Palaidot programmu, iespējamā izeja būs:

 Konvertēto plašo rakstzīmju skaits = 1 Plaša rakstzīmju virkne = ─

Interesanti raksti...