error C2664: 'strcmp' : cannot convert parameter 1 from 'LPCTSTR' to 'const char *' 可能是有UNICODE的原因,需要转换一下的吧??
typedef const char * LPCTSTR; 这个不就是说他两个本身就是一个类型吗
UNICODE 使用_tcscmp MSDN 知道了 谢谢~
char str[1024]; wsprintfA(str,"%S",lpWideChars);
LPCTSTR1、在非UNICODE环境下为 const char *2、在UNICODE环境下为 const unsigned short * 楼主现在遇到的问题可能是要将宽字符转换为多字节,需要调用以下 API 函数:int WideCharToMultiByte( UINT CodePage, // code page DWORD dwFlags, // performance and mapping flags LPCWSTR lpWideCharStr, // wide-character string int cchWideChar, // number of chars in string LPSTR lpMultiByteStr, // buffer for new string int cbMultiByte, // size of buffer LPCSTR lpDefaultChar, // default for unmappable chars LPBOOL lpUsedDefaultChar // set when default char used );
可能是有UNICODE的原因,需要转换一下的吧??
这个不就是说他两个本身就是一个类型吗
知道了 谢谢~
wsprintfA(str,"%S",lpWideChars);
LPCTSTR1、在非UNICODE环境下为 const char *2、在UNICODE环境下为 const unsigned short *
楼主现在遇到的问题可能是要将宽字符转换为多字节,需要调用以下 API 函数:int WideCharToMultiByte(
UINT CodePage, // code page
DWORD dwFlags, // performance and mapping flags
LPCWSTR lpWideCharStr, // wide-character string
int cchWideChar, // number of chars in string
LPSTR lpMultiByteStr, // buffer for new string
int cbMultiByte, // size of buffer
LPCSTR lpDefaultChar, // default for unmappable chars
LPBOOL lpUsedDefaultChar // set when default char used
);
调用A2T,T2A,T2W等进行转换
当时记得好像要加什么_T()的。
可以查一下msdn文档
LPCTSTR aaa;
//……DWORD dwMinSize;
dwMinSize = WideCharToMultiByte(CP_ACP,NULL,aaa,-1,NULL,0,NULL,FALSE); //计算长度
char *bbb= new char[dwMinSize];WideCharToMultiByte(CP_OEMCP,NULL,aaa,-1,bbb,dwMinSize,NULL,FALSE);
unicOde就参考一下WideCharToMultiByte
是正解~ 你应该处理一下字符集的问题