下面这段代码执行正常,但是在程序退出时,会发生错误,我不知道为什么,请大虾帮忙了!!
for(nItemCount;nItemCount>=0;nItemCount--)
{
ItemData* pid1= reinterpret_cast<ItemData*>( m_ListSlxx.GetItemData( nItemCount ) );
LPTSTR arrpszcityno1=pid1->arrpsz[0];
CString strcityno=arrpszcityno1;
ChangeToCityName(atoi(strcityno),strCity1);strType1=m_ListSlxx.GetItemText(nItemCount,1);
strSum1=m_ListSlxx.GetItemText(nItemCount,2);
strDm1=m_ListSlxx.GetItemText(nItemCount,3);
strCd1=m_ListSlxx.GetItemText(nItemCount,4);
strQt1=m_ListSlxx.GetItemText(nItemCount,5);

m_ListSlxx.SetItemText(nItemCount+1,0,strCity1);
m_ListSlxx.SetItemText(nItemCount+1,1,strType1);
m_ListSlxx.SetItemText(nItemCount+1,2,strSum1);
m_ListSlxx.SetItemText(nItemCount+1,3,strDm1);
m_ListSlxx.SetItemText(nItemCount+1,4,strCd1);
m_ListSlxx.SetItemText(nItemCount+1,5,strQt1);
                
ItemData* pid5=(reinterpret_cast<ItemData*>( m_ListSlxx.GetItemData( nItemCount+1 ) ));
pid5=m_ListSlxx.GetItemData(nItemCount+1);
LPTSTR arrpszcityname1=pid5->arrpsz[0];
LPTSTR arrpsztype1=pid5->arrpsz[1];
int iCityNo;
GetCityNoByCityName(strCity1,iCityNo);
CString strTempCityName;
strTempCityName.Format("%d",iCityNo);lstrcpy(pid5->arrpsz[0],(LPTSTR)(LPCTSTR)strTempCityName);
lstrcpy(pid5->arrpsz[1],(LPTSTR)(LPCTSTR)strType1);lstrcpy(pid5->arrpsz[2],(LPTSTR)(LPCTSTR)strSum1);lstrcpy(pid5->arrpsz[3],(LPTSTR)(LPCTSTR)strDm1);lstrcpy(pid5->arrpsz[4],(LPTSTR)(LPCTSTR)strCd1);
lstrcpy(pid5->arrpsz[5],(LPTSTR)(LPCTSTR)strQt1);
}