2010年10月8日 星期五

[C 範例代碼] 文件操作 : 列印出符合搜尋結果的所有檔案/目錄名稱


前言 :
透過Windows API : FindFirstFileFindNextFile, and FindClose 來對某一個搜尋條件進行列印所有符合結果的檔案(含檔案大小)與目錄名稱進行顯示.

範例代碼 :
使用者在Console 輸入搜尋條件後, 由程序列印出符合搜尋結果的檔案/目錄名稱 :
- 範例代碼 :
  1. #include   
  2. #include   
  3.   
  4. void main() {  
  5.     WIN32_FIND_DATAA FindFileData;    
  6.     HANDLE hFind;    
  7.      char sfile[100];    
  8.      LARGE_INTEGER iFilesize;  
  9.     printf("Enter the file search path: ");    
  10.     scanf("%s", sfile);    
  11.     hFind = FindFirstFileA(sfile, &FindFileData);  
  12.     if (hFind == INVALID_HANDLE_VALUE)   {  
  13.         printf ("FindFirstFile failed (%d)\n", GetLastError());    
  14.     } else {  
  15.         do{  
  16.             if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {  
  17.                 printf("  \t\t\t%s\n", FindFileData.cFileName);  
  18.             } else {  



  19.                 iFilesize.HighPart = FindFileData.nFileSizeHigh;  



  20.                 iFilesize.LowPart = FindFileData.nFileSizeLow;                



  21.                 printf("  %8ld bytes\t",  iFilesize.QuadPart);  



  22.                 printf("%s\n", FindFileData.cFileName);  



  23.             }  



  24.         }while(FindNextFileA(hFind, &FindFileData));  



  25.         FindClose(hFind);    



  26.     }  



  27. }  




執行結果 :

補充說明 :
[C 範例代碼] 文件操作 : 搜尋查找文件 (使用 FindFirstFileA 函數)
This message was edited 2 times. Last update was at 05/08/2010 11:49:30

沒有留言:

張貼留言

[Git 常見問題] error: The following untracked working tree files would be overwritten by merge

  Source From  Here 方案1: // x -----删除忽略文件已经对 git 来说不识别的文件 // d -----删除未被添加到 git 的路径中的文件 // f -----强制运行 #   git clean -d -fx 方案2: 今天在服务器上  gi...