CString与void*相互转换的问题
CString str= "taet ";
void* ptr=(void*)(LPTSTR)(LPCTSTR)str;
CString strin=(LPTSTR)ptr;
//strin返回了taet;
以上语句能很好返回,但是写成如下形式的函数就出现了问题,
VOID* CEditDlg::Change()
{
CString str= "taet ";
void* ptr=(void*)(LPTSTR)(LPCTSTR)str;
return ptr;
}
BOOL CEditDlg::OnInitDialog()
{
void* ptring=Change();
CString string1=(LPTSTR)ptring;
//返回的是乱码
}
[解决办法]
lz 温习一下 变量的作用域
[解决办法]
局部变量的作用域就在局部变量的分配的语句块内有效。