Visual C++ 2008
里
cannot convert parameter 1 from 'const char [13]' to 'LPCTSTR'
造成不能运行的原因主要是
2005
和
2008
中增加了一些参数类型的安全性检查,所以通常在
6.0
没有问题的
LPCTSTR
与
const char
之间的转换到了这里就玩不转。最痛快的办法就是在建立工程时,直接选不用那个Use Unicode libraries ,这样就不会再遇到这个问题了。因为根据百度百科里所讲,LPCTSTR中第一个T表示根据程序中是否定义了UNICODE来处理,这样,不使用Unicode libraries ,就仍延续ANSI。
另一种解决办法是:
添加语句:
USES_CONVERSION;
转换举例:
char* test[] = "test";
LPCTSTR pT = A2T(test);
char* pA = T2A(pT);
如果是ascii编译方式不用转
如果是Unicode则用宏A2T
http://www.cnitblog.com/Hali/archive/2009/05/22/58692.html
原文来自这里,未经验证