Если вы используете _tcscpy_s
, а не _tcscpy
, вторым параметром должен быть фактический размер массива, а не длина текущей содержащейся строки.Например:
TCHAR dest[20];
_tcscpy_s(dest, _countof(dest), _T("Hello"));
Можно даже использовать версию с двумя параметрами, для которой не требуется параметр размера:
_tcscpy_s(dest, _T("Hello"));
Если tchar_pointer
на самом деле указатель, а не массив(как следует из его названия) вы должны быть очень осторожны при определении того, какова его реальная емкость.Потребуется больше контекста, чтобы предложить правильный подход, но использование длины содержащейся строки для вычисления размера буфера почти наверняка является неправильным подходом.