首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> VC >> 關於VC++

目錄/檔案遞迴搜尋封裝類 ffsco (Win32)

     編輯:關於VC++

簡介

ffsco 類別將 Win32 FindFirstFile/FindNextFile 遞迴搜尋功能簡單封裝,支援子目錄遞迴、多副檔名過濾、結果儲存於 std::vector<std::string>,介面極簡單。

使用需求

  • 編譯器支援標準 C++ / vector / string
  • 使用者熟悉 vector/string 基本操作

核心實作

  • 使用 FindFirstFile/FindNextFile 列舉檔案/目錄。
  • 子目錄搜尋採遞迴方式。
  • 可繼承並覆寫 match 方法實作自訂比對演算法。

使用範例

#include "ffsco.h"
using namespace helper_coffs;

ffsco o;
// o.dirs(1);       // 啟用子目錄遞迴 (預設關閉)
// o.limit(100);    // 限制最大結果筆數 (預設 65536,上限 1048576)

int count = o.find("c:\\winnt", "*.exe; *.dll; *.ini");
// 或 int count = o.find("c:\\winnt");  // 全部檔案

// 取得結果
ffsco::typeT files = o.co_file();      // 所有檔案
ffsco::typeT dirs  = o.co_dir();       // 所有目錄
ffsco::typeT all   = o.co();           // 檔案+目錄混合

for (ffsco::typeT::iterator it = files.begin(); it != files.end(); ++it)
    cout << *it << endl;  // 任意處理

示範程式

  • test/:基本用法
  • test2/:GUI 示範程式

示範程式執行畫面

結語

ffsco 以最小介面提供最大彈性,歡迎開發者根據需求擴充 (如加入檔案大小、時間過濾等)。完整原始碼請參考附件。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved