Funkcja wcsncpy () w C ++ kopiuje określoną liczbę szerokich znaków ze źródła do celu.
Funkcja wcsncpy () jest zdefiniowana w pliku nagłówkowym.
wcsncpy () prototyp
wchar_t * wcsncpy (wchar_t * dest, const wchar_t * src, size_t count);
Funkcja wcsncpy () przyjmuje trzy argumenty: dest, src i count. Kopiuje maksymalną liczbę szerokich znaków z szerokiego ciągu wskazywanego przez src do lokalizacji pamięci wskazywanej przez dest.
Jeśli liczba jest mniejsza niż długość src, pierwsze znaki licznika są kopiowane do dest i nie są zakończone wartością null. Jeśli count jest większa niż długość src, wszystkie szerokie znaki z src są kopiowane do dest i dodawane są dodatkowe kończące znaki szerokie o wartości null, aż do zapisania łącznej liczby szerokich znaków o wartości count.
Zachowanie jest niezdefiniowane, jeśli dwa szerokie ciągi zachodzą na siebie.
wcsncpy () Parametry
- dest: wskaźnik do szerokiej tablicy znaków, do której kopiowana jest zawartość.
- src: Wskaźnik do szerokiej tablicy znaków, z której kopiowana jest zawartość.
- count: Maksymalna liczba szerokich znaków do skopiowania.
wcsncpy () Wartość zwracana
- Funkcja wcsncpy () zwraca dest.
Przykład: Jak działa funkcja wcsncpy ()?
#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; )
Po uruchomieniu programu wynik będzie następujący:
Przed kopiowaniem, dest = Hello Hi Po skopiowaniu, dest = Ŧēċħo Hi