读书人

CString与void*相互转换的有关问题

发布时间: 2012-01-14 20:02:35 作者: rapoo

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 温习一下 变量的作用域
[解决办法]
局部变量的作用域就在局部变量的分配的语句块内有效。

读书人网 >VC/MFC

热点推荐