C ++ wcsncpy () - C ++ standardowa biblioteka

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

Interesujące artykuły...