2011-03-28 12:53

[C語言] 用 fnmatch 依副檔名過濾檔案類型

  1. #include <stdio.h> 
  2. #include <string.h> 
  3. #include <fnmatch.h> 
  4.  
  5. #define SIZE 256 
  6.  
  7. int main(int argc, const char ** argv){ 
  8.    char extension[] = "jpg,png,gif"; 
  9.  
  10.    char extensionTemp[SIZE]; 
  11.    char pattern[SIZE]; 
  12.    char *token; 
  13.  
  14.    for (int i = 1; i < argc; i++){ 
  15.        strcpy(extensionTemp,extension); 
  16.        token = strtok(extensionTemp,","); 
  17.        while (token != NULL && strlen(token)>0){ 
  18.            strcpy (pattern,"*."); // *. 
  19.            strcat (pattern,token); // *.jpg 
  20.  
  21.            if( fnmatch(pattern,argv[i],0) == 0 ) { 
  22.                printf("%s\n",argv[i]); 
  23.            } 
  24.  
  25.            token = strtok(NULL,","); 
  26.        } 
  27.    } 
  28.  
  29.    return 0; 
  30. } 

0 回應: