1. 程式人生 > >CString轉換為const char*

CString轉換為const char*

編譯器 vc++ bsp 但是 new ++ str () 報錯

在VC++6.0中,CString可以通過強制轉換,轉換成char*,如: (char*)(LPCTSTR)str,但是在VS2010及更高版本中,這樣強制轉換的後果就是char只能接受CString的第一個字符,編譯器也不會報錯,主要是Unicode和ANSI的問題,此時可以使用下面的函數:

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;

}

CString轉換為const char*