Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo convertir una matriz de caracteres a lpwstr

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

=

(LPCTSTR)b;

_tprintf(_T("%s\n%s\n"),

l1,

l2 );

regresar

0;

}