VS2010中CString转换为const char*
在VC++6.0中,CString可以通过强制转换,转换成char*,如: (char*)(LPCTSTR)str,但是在VS2010中这样强制转换的后果就是char只能接受CString的第一个字符,编译器也不会报错,主要是Unicode和ANSI的问题,只要做一个转换就可以了,写了一个函数,有需要的可以拿走,感谢支持!
extern char* CStringToChar(CString str)
{
const size_t strsize=(str.GetLength()+1)*2;
char * pstr= new char[strsize];
size_t sz=0;
wcstombs_s(&sz,pstr,strsize,str,_TRUNCATE);
return pstr;
}
{
const size_t strsize=(str.GetLength()+1)*2;
char * pstr= new char[strsize];
size_t sz=0;
wcstombs_s(&sz,pstr,strsize,str,_TRUNCATE);
return pstr;
}