Cómo convertir una matriz de caracteres a lpwstr
Esto es lo que dice el tipo de datos en MSDN ¿Qué es LPTSTR?
#ifdef
UNICODE
typedef
LPWSTR
LPTSTR;
# else
typedef
LPSTR
LPTSTR;
#endif
Y LPWSTR es para
wchar_t
, LPSTR es para char,
typedef
CHAR
*LPSTR;
typedef
char
CHAR;
Se puede ver que si UNICODE no está definido,
char
* Es LPTSTR, y const
char
* es LPCTSTR, y esa T representa TCHAR (char[ascii], wchar_t[UNICODE]).
================
Quiero decir, si no usas "/D" en el comando, grita
UNICODE" o "
#define
UNICODE" al principio del código fuente, LPTSTR es lo mismo que char
*. Si tiene
caracteres confusos
aquí, primero debe verificar si su char
tmpDir[] tiene caracteres confusos. Mira este programa:
#include
#include
int
_tmain()
{
char
a
[]
=
"abcdefg";
LPCTSTR
l1
=
(LPCTSTR)a;
char
b
[]
=
"Hola.";
LPCTSTR
l2
= p>
(LPCTSTR)b;
_tprintf(_T("%s\n%s\n"),
l1,
l2 );
regresar
0;
}