LPCTSTR不是一个类型,而是两种类型:LPCSTR和LPCWSTR其中之一。会根据你当前程序是否使用UNICODE字符集来变成那二者之一。
如果使用UNICODE字符集,则LPCTSTR = LPCWSTR,如果使用Multi-Byte字符集,则LPCTSTR = LPCSTR。
//Multi-Byte编码下, string转LPCSTR(LPCTSTR)类型:
string str = "hello, I'm string";
LPCSTR strtmp1 = str.c_str();
//Unicode编码下, string转LPCWSTR(LPCTSTR)类型:
string str = "hello, I'm string";
size_t size = str.length();
wchar_t* buffer=new wchar_t[size+1];
MultiByteToWideChar(CP_ACP, 0, str.c_str(), size, buffer, size*sizeof(wchar_t));
buffer[size] = 0;
delete buffer;
string转LPCTSTR类型
最新推荐文章于 2024-06-21 15:27:53 发布