C ++ wcsncpy () - C ++ - vakiokirjasto

C ++: n wcsncpy () -toiminto kopioi tietyn määrän leveitä merkkejä lähteestä kohteeseen.

Wcsncpy () -toiminto määritetään otsikkotiedostossa.

wcsncpy () -prototyyppi

 wchar_t * wcsncpy (wchar_t * dest, const wchar_t * src, size_t count);

Wcsncpy () -funktiolla on kolme argumenttia: dest, src ja count. Se kopioi enimmäismäärän leveitä merkkejä leveästä merkkijonosta, johon src on osoittanut, muistiin, johon osoitti.

Jos määrä on pienempi kuin src: n pituus, ensimmäiset laskumerkit kopioidaan kohteeseen, eikä se ole null-päättynyt. Jos määrä on enemmän kuin src: n pituus, kaikki src: n leveät merkit kopioidaan kohteeseen ja lisätään lopetettavia tyhjiä leveitä merkkejä, kunnes laskettujen leveiden merkkien lukumäärä on kirjoitettu.

Käyttäytymistä ei ole määritelty, jos kaksi leveää merkkijonoa menevät päällekkäin.

wcsncpy () -parametrit

  • dest: Osoitin laajaan merkistöryhmään, johon sisältö kopioidaan.
  • src: Osoitin laajaan merkistöryhmään, josta sisältö kopioidaan.
  • count: Kopioitavien leveiden merkkien enimmäismäärä.

wcsncpy () Palautusarvo

  • Wcsncpy () -funktio palauttaa tavoitteen.

Esimerkki: Kuinka wcsncpy () -toiminto toimii?

 #include #include #include using namespace std; int main() ( setlocale(LC_ALL, "en_US.utf8"); wchar_t src() = L"u0166u0113u010bu0127u0149u0151u013cu014cu0123u0194"; wchar_t dest() = L"Hello Hi"; wcout << L"Before copying, dest = " << dest << endl; wcsncpy(dest, src, 4); wcout << L"After copying, dest = " << dest << endl; return 0; )

Kun suoritat ohjelmaa, tulos on:

 Ennen kopiointia, dest = Hei Hei kopioinnin jälkeen, dest = Ŧēċħo Hei

Mielenkiintoisia artikkeleita...