C ++ mbstowcs () - C ++ standardraamatukogu

Funktsioon mbstowcs () funktsioonis C ++ teisendab mitmebaidise märgistringi samaväärseks laia tähemärkide järjestuseks.

Funktsioon mbstowcs () on määratletud päisefailis.

mbstowcs () prototüüp

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

Funktsioon mbstowcs () võtab kolm argumenti ja tagastab täisarvu.

See funktsioon teisendab mitmebaidise märgistringi, mille esimese elemendi src osutab, selle laia tähemärgi (tüüp wchar_t väärtus) esituseks.

Tulemus salvestatakse mälu asukohta, millele osutab sihtkoht. Parameeter max tähistab teisendatavate mitmebaidiste tähemärkide maksimaalset arvu.

Teisendamismehhanism on sama mis mbtowc (), välja arvatud see, et mbtowc teisenduse olekut see ei mõjuta. Teisendamine peatub, kui:

  • Tekib nullmärk, mis teisendatakse ja salvestatakse.
  • Ilmnes vale mitmebaidine märk.
  • teisendatud on maksimaalne arv mitmebaidiseid märke

mbstowcs () parameetrid

  • dest: Saadud laia tähemassiivi osuti.
  • src: kursor mitmebaidise märgi esimese elemendi jaoks, mis teisendatakse laia tähemärgiks.
  • max: teisendatavate multibaitsete tähemärkide maksimaalne arv.

mbstowcs () Tagastusväärtus

  • Kui teisendamine on edukas, tagastab mbstowcs () laia tähemärgi arvu, välja arvatud lõpumärk (st ' 0'), mis on kirjutatud sihtmassiivi.
  • Kui teisendamise ajal tekib mõni viga, tagastab see -1.

Näide: Kuidas funktsioon mbstowcs () töötab?

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

Programmi käivitamisel on võimalik väljund:

 Teisendatud laia märgi arv = 1 lai tähemärk = ─

Huvitavad Artiklid...