wchar_t* wstrncpy( wchar_t* dest, const wchar_t* source, int maxlen );
Функция копирует не более maxlen символов строки в буфер, включая символ '\0', но если только символов в source меньше, чем maxlen.
Возвращает скопированную строку.
Следует использовать функцию крайне осторожно и внимательно, т.к. при переполнении строки, в которую копируем (если dest < source и dest < n), а также при копировании в строку, для которой не выделена память, будет гарантированный ребут.
Со статической памятью:
wchar_t src[]=L"str1"; wchar_t dst[5]; wstrncpy(dst,src,4);
С динамической:
wchar_t * src=new wchar_t[5]; wstrncpy(src,L"str1",4); src[4]='\0'; //символ конца строки дописываем сами ... delete(src);