Re: маска (вдогонку - case insensentive)

From
Oleg I. Khovayko ()
To
Oleg I. Khovayko
Date
2002-10-09T20:53:26Z
Area
RU.ALGORITHMS
From: "Oleg I. Khovayko" <olegh@ncbi.nlm.nih.gov>

А если хочется сравнивать имя файла без различия больших/маленьких букв
(case insenntive), то вот модификация процедуры для такого случая:


int fmask(const char *mask, const char *str) {
  for( ; ; str++) {
    printf("mask:[%s] str:[%s]; \n", mask, str);
    switch(*mask++) {
      case '*' : if(fmask(mask, str))
                    return 1;
                 mask--;
      case '?' : if(*str == 0) return 0;
		 continue;
      case  0  : return *str == '\0';
      default  : if((mask[-1] ^ *str) & ~' ') return 0;
                 continue;
    } // switch
  } // for
} // fmask
-- 
#include <best/regards.hpp>
Oleg I. KHOVAYKO  
(301)435-5885 || WEB: http://olegh.spedia.net
--- ifmail v.2.15dev5
 * Origin: National Center for Biotechnology Information (2:5020/400)