m_nlist.SetItemDataPtr(n,nox);
MessageBox(nox);//测试输出 nox是char*型的输出是正确的字符串int n=m_nlist.GetCurSel();
stu_nox=(char *)(m_nlist.GetItemDataPtr(n));
stu_no.Format("%s",stu_nox);
MessageBox(stu_no);
//输出的就是乱码stu_nox是char*型的
MessageBox(nox);//测试输出 nox是char*型的输出是正确的字符串int n=m_nlist.GetCurSel();
stu_nox=(char *)(m_nlist.GetItemDataPtr(n));
stu_no.Format("%s",stu_nox);
MessageBox(stu_no);
//输出的就是乱码stu_nox是char*型的
我再试试~~
BOOL CMyDialog::OnInitDialog()
{
...
// TODO: Add extra initialization here
char *nox1 = new char[20];
strcpy(nox1, "nox数据1");
int nIndex = m_wndListBox.AddString("第1项");
m_wndListBox.SetItemData(nIndex, (DWORD)nox1); char *nox2 = new char[20];
strcpy(nox2, "nox数据2");
nIndex = m_wndListBox.AddString("第2项");
m_wndListBox.SetItemData(nIndex, (DWORD)nox2);
...
}//使用数据。
void CMyDialog::OnButton1()
{
CString stu_no;
int n = m_wndListBox.GetCurSel();
char *stu_nox = (char *)m_wndListBox.GetItemData(n);
stu_no.Format("%s",stu_nox);
MessageBox(stu_no);
}//删除数据。
void CMyDialog::OnDestroy()
{
...
int nCount = m_wndListBox.GetCount();
for (int i = 0; i < nCount; i++)
{
delete[] (char *)m_wndListBox.GetItemData(i);
}
}
果然就是局部的问题~~
接贴了~~
-----------------------------------------------
http://www.wantsoft.com
隐形者软件代码交流博客
-----------------------------------------------