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