Re: [問題] 檔名過濾器

看板C_and_CPP (C/C++)作者 (朱子)時間16年前 (2009/02/03 00:30), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
用前面推文的方法試了一下,大概是像這樣 /* findfile.c */ #include<stdio.h> #include<windows.h> int main(int argc,char* argv[]) { HANDLE h; WIN32_FIND_DATA data; if(argc!=3) { printf("incorrect number of arguments\n"); return 1; } if(!SetCurrentDirectory(argv[1])) { printf("directory not found!\n"); return 2; } h=FindFirstFile(argv[2],&data); if(h==INVALID_HANDLE_VALUE) { printf("file not found"); return 3; } printf("%s\n",data.cFileName); while(FindNextFile(h,&data)) { printf("%s\n",data.cFileName); } return 0; } /* end of file*/ 現在假設我在目錄abc裡面有三個檔案 B2abc.txt B2123abd.txt B2b123d12.exe 執行起來大概像這樣 findfile abc b2*b*d*.* 就會輸出 B2123abd.txt B2b123d12.exe 如果需要更精確的搜尋,也許可以把一個個檔名抓出來用regular expression 的library處理吧 ※ 引述《chiucs (ChiuCS)》之銘言: : 我有一個目錄,檔案數量非常之大,(約15萬筆) : 目錄內的檔案會不定時增/刪,(所以無法在平時先記錄檔名備用) (但數量都大約維持在15\ : 萬筆) : 想寫一個程式,方便找尋目錄內部的某一個檔案(如包含*ABC*) : 因為檔案的開頭文字差異性有限,(檔名都是以B2開頭,MS無法使用B2*ABC*來dir) : 檔名文數字字數又不定(約15至25字完) : 查尋全部的檔案中,過濾符合想要的檔名 : 速度非常的慢(要好多分鐘以上) : 想請問,是否有好用的API,可以過濾檔名 : (NOTE:我有用網路上freesware的檔案總管所提供的檔名過濾器功能, : 它的速度約在數秒,是否有人知道它是如何作到的) : 感謝各位大大的耐心閱讀與回覆 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.57.64.43
文章代碼(AID): #19Xn-TyT (C_and_CPP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
4
4
完整討論串 (本文為第 2 之 2 篇):
4
4
文章代碼(AID): #19Xn-TyT (C_and_CPP)