全心思齐网

LPCTSTR和constchar*类型的转换?

LPCTSTR等同于const TCHAR *, TCHAR是一种中间类型,它根据你的工程是否定义了宏UNICODE而有不同。如果定义了UNICODE 那么,TCHAR = wchar_t (宽字符),否则,TCHAR =char。更多的你再去找些资料,下面给你个转换方法:

const char* pSource="ABCD中国"

; LPCTSTR pDest=NULL; if(sizeof(TCHAR)==sizeof(char)) { pDest=(LPCTSTR)pSource; } else { int length= sizeof(TCHAR)*(strlen(pSource)+1)

; LPTSTR tcBuffer=new TCHAR[length]; memset(tcBuffer,0,length)

; MultiByteToWideChar(CP_ACP,0,pSource,strlen(pSource),tcBuffer,length); pDest=(LPCTSTR)tcBuffer ; }

匿名回答于2024-06-03 19:12:04


相关知识问答