CString 转LPCOLESTR
CString转LPCOLESTR的方法如下:
- 首先将CString转换为标准的C字符串。
CString str = "Hello World!"; const char* psz = str.GetBuffer();
- 然后使用MultiByteToWideChar函数将C字符串转换为Unicode字符串。
int nLen = MultiByteToWideChar(CP_ACP, 0, psz, -1, NULL, 0); wchar_t* pwsz = new wchar_t[nLen]; MultiByteToWideChar(CP_ACP, 0, psz, -1, pwsz, nLen);
- 最后将Unicode字符串转换为LPCOLESTR类型。
LPCOLESTR lpstr = (LPCOLESTR)pwsz;
- 使用完毕后,记得释放内存。
delete[] pwsz;
完整代码如下:
CString str = "Hello World!"; const char* psz = str.GetBuffer();
int nLen = MultiByteToWideChar(CP_ACP, 0, psz, -1, NULL, 0); wchar_t* pwsz = new wchar_t[nLen]; MultiByteToWideChar(CP_ACP, 0, psz, -1, pwsz, nLen);
LPCOLESTR lpstr = (LPCOLESTR)pwsz;
delete[] pwsz
原文地址: http://www.cveoy.top/t/topic/cifl 著作权归作者所有。请勿转载和采集!