将我这阵子做东西遇到的问题一一列出,以便于哪位出现同样的问题,就省事了,问题有的是自己解决,有的是总结别人的哦
问题1:字符转换的
//----------------将CString转为string----------------------//
std::string toStringA(CString source)//将CString转成string类型
{
std::string curLocale = setlocale(LC_ALL, NULL); // curLocale = "C";
setlocale(LC_ALL,"chs");
size_t size = 2 * source.GetLength() + 1;
char *dest = new char[size];
memset(dest,0,size);
wcstombs_s(NULL, dest, size * sizeof(char), source.GetBuffer(),size);
std::string result = dest;
delete []dest;
setlocale(LC_ALL, curLocale.c_str());
return result;
}
//-------------LPCTSTR(LPCWSTR)转string--------------//
std::string WCharToMByte(LPCWSTR lpcwszStr)
{
std:string str;
DWORD dwMinSize = 0;
LPSTR lpszStr = NULL;
dwMinSize = WideCharToMultiByte(CP_OEMCP,NULL,lpcwszStr,-1,NULL,0,NULL,FALSE);
if(0 == dwMinSize)
{
return FALSE;
}
lpszStr = new char [dwMinSize];
WideCharToMultiByte(CP_OEMCP,NULL,lpcwszStr,-1,lpszStr,dwMinSize,NULL,FALSE);
str = lpszStr;
delete [] lpszStr;
return str;
}
//-------------string转LPCTSTR--------------//
std:string cc="avcd";
LPCTSTR bb=(LPCTSTR)cc.c_str();//强制转换