Функція wcsncpy () в C ++ копіює певну кількість широких символів від джерела до місця призначення.
Функція wcsncpy () визначена у файлі заголовка.
прототип wcsncpy ()
wchar_t * wcsncpy (wchar_t * dest, const wchar_t * src, count_t count);
Функція wcsncpy () приймає три аргументи: dest, src і count. Він копіює максимум підрахованих широких символів із широкого рядка, на який вказує src, у місце пам'яті, на яке вказує dest.
Якщо відлік менше довжини src, символи першого відліку копіюються в dest і не припиняються за допомогою null. Якщо count більше довжини src, усі широкі символи з src копіюються в dest і додаються додаткові закінчуючі нульові широкі символи, поки не буде записано загальну кількість широких символів.
Поведінка невизначена, якщо два широкі рядки перекриваються.
Параметри wcsncpy ()
- dest: Вказівник на широкий масив символів, куди копіюється вміст.
- src: вказівник на широкий масив символів, звідки копіюється вміст.
- count: Максимальна кількість широких символів для копіювання.
wcsncpy () Повертається значення
- Функція wcsncpy () повертає dest.
Приклад: Як працює функція 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; )
Коли ви запускаєте програму, результат буде:
До копіювання, dest = Привіт Привіт Після копіювання, dest = Ŧēċħo Привіт