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