其部分代码如下://添加新的项目
LV_ITEM curItem;
curItem.mask=TVIF_TEXT | TVIF_IMAGE | TVIF_STATE;
curItem.state=0;
curItem.stateMask=0;
//为子目录和文件指定不同的图像
if((wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)!=0)
curItem.iImage=0;
else
curItem.iImage=1;
//设置新项目的第0列:文件名称
curItem.iItem=i;
curItem.iSubItem=0;
curItem.pszText=wfd.cFileName;
m_ListFile.InsertItem(&curItem);
//设置新项目的第一列:文件大小
CString sz;
sz.Empty();
unsigned long FileSize(wfd.nFileSizeHigh*MAXDWORD)+
wfd.nFileSizeLow;//可能出错的地方
sz.Format("%u",FileSize);
m_ListFile.SetItemText(i,1,sz);
//设置新项目的第二列:文件日期
FILETIME ft;
SYSTEMTIME st;
::FileTimeToLocalFileTime(&wfd.ftLastWriteTime,&ft);
::FileTimeToSystemTime(&ft,&st);
sz.Format("%d/%d/%d/%d:%d",st.wYear,st.wMonth,st.wDay,st.wHour,st.wMinute);
m_ListFile.SetItemText(i,2,sz);
//继续搜索当前目录
i+=1;
bDone=!::FindNextFile(hFile,&wfd);
}
::FindClose(hFile);
}
定义类型是不能将字符型数据强转为字符型指针!需要在错误处,修改类型!
参数传递出错,这种错误往往很确定,而且很好定位,你的代码里面我是没有发现什么问题。