Tengo una matriz TCHAR
en mi código C++ a la que quiero asignar cadenas estáticas.Cómo asignar un valor a una matriz TCHAR
puse una cadena inicial a ella a través
TCHAR myVariable[260] = TEXT("initial value");
Todo funciona bien en esto. Sin embargo, cuando me separé en dos líneas como en
TCHAR myVariable[260];
myVariable = TEXT("initial value");
TI errores y da un error del compilador:
error C2440: '=': cannot convert from 'const char [14]' to 'TCHAR [260]'
debe no la función TEXT()
hacer exactamente lo que quiere aquí? convertir la cadena dada a TCHAR
s? ¿Por qué funciona, al juntar las dos líneas? ¿Qué tengo que cambiar para que funcione?
Algunos otra cosa confusa que he encontrado:
He buscado en internet para ello y han visto que hay también _T()
y _TEXT()
y __T()
y __TEXT()
. ¿Para qué son? ¿Cuál de ellos debería usar en qué entorno?
+1 a avakar. En una nota lateral, use TCHAR en lugar de WCHAR o char, dependiendo de la configuración de su proyecto (Unicode/ASCII), la macro TCHAR se definirá como WCHAR/char. Asimismo, utilice funciones seguras basadas en t como _tcscpy_s, _tcscat_s, etc. que se definirán de nuevo en función de su proyecto. ajustes como wcscpy o strcpy. Mis 2 centavos. – legends2k
Intenté esto, obtuve este error: error C2664: 'wcscpy': no se puede convertir el parámetro 2 de 'const char [8]' a 'const wchar_t *' –
@ user396483, ¿qué intentó? Obviamente estás mezclando las versiones str, _tcs y wcs. – avakar