Suponiendo que está utilizando _tcscpy_s
y no _tcscpy
, el segundo parámetro debe ser el tamaño real de la matriz, y no la longitud de la cadena actualmente contenida. Por ejemplo:
TCHAR dest[20];
_tcscpy_s(dest, _countof(dest), _T("Hello"));
incluso se puede utilizar la versión de 2 parámetros que no requerirá el parámetro de tamaño:
_tcscpy_s(dest, _T("Hello"));
Si tchar_pointer
es en realidad un puntero y no una matriz (como lo implica su nombre) debe tener mucho cuidado al determinar cuál es su capacidad real. Se necesitaría más contexto para sugerir el enfoque correcto, pero usar la longitud de la cadena contenida para calcular el tamaño del búfer es casi seguro un enfoque equivocado.
La sugerencia anterior 2 no funcionará, ya que el puntero tchar viene de externo, y mi lado no tiene idea de cuán grande es el búfer al que hace referencia el puntero. –
Entonces no puede usar las funciones seguras '_s', porque el objetivo de ellas es que proporcione el tamaño del búfer. –