VS2010中CString转换为const char*

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;
}

你可能感兴趣的:(Visual,C++/MFC,vc++,unicode,vs2010,cstring)