MFC——獲取文件夾下的所有文件並顯示在CListCtrl上




//VS2015,

//CListCtrl初始化。注意該控件的View屬性需要設置為Report!!!!
BOOL CloadfileServerDlg::OnInitDialog()
{
  ......
pListCtr.DeleteAllItems(); pListCtr.InsertColumn(
0, _T("文件名"), LVCFMT_CENTER, 120); pListCtr.InsertColumn(1, _T("文件類型"), LVCFMT_CENTER, 100); pListCtr.InsertColumn(2, _T("文件大小"), LVCFMT_CENTER, 140); pListCtr.InsertColumn(3, _T("存放路徑"), LVCFMT_LEFT, 500);
  ......
}
//列表出文件
void CloadfileServerDlg::getFileList(char* szPath)//參數為文件夾路徑,如:"C:\\Users\\ForeverRoad\\Desktop\\serverImg"
{
    pListCtr.DeleteAllItems();
    CFileFind finder;
    //建立CString對象,設置檢索匹配字符串
    CString strWildcard(szPath);
    strWildcard += _T("\\*.*");

    //文件內部檢索
    BOOL bWorking = finder.FindFile(strWildcard);
    int i; //用於定位字符,作為下標
    int index = 0;    //用於列表索引

    CString fontName, lastType, filepath,filename,filesize;//存儲切割結果
    while (bWorking)
    {
        bWorking = finder.FindNextFile();
        filename = finder.GetFileName();
     //假設文件夾里面全是圖片,獲取圖片文件長度 imageSize
= finder.GetLength(); if (filename != _T(".") && filename != _T("..")) { filepath = finder.GetFilePath(); for (i = 0;i < filename.GetLength();i++) { if (filename[i] == '.') { fontName = filename.Mid(0, i); lastType = filename.Mid(i+1, filename.GetLength()); filesize.Format(_T("%d"), imageSize/1024); filesize += "k"; pListCtr.InsertItem(index, fontName); pListCtr.SetItemText(index, 1, lastType); pListCtr.SetItemText(index, 2, filesize); pListCtr.SetItemText(index, 3, filepath); } } index++; } } finder.Close(); }

  文件夾內部內容,從cmd看:

  

  程序運行結果:

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM