Я могу сопоставить простой шаблон, например: "[0-9]", с
fnmatch("[0-9]", tocheck, 0)
, но если мне дано что-то более сложное?или же .или даже комбинация из них, как я могу использовать fnmatch?Я видел, что есть некоторые флаги, которые могут сделать трюк, но я не знаю, как использовать, потому что я довольно плохо знаком с C.
РЕДАКТИРОВАТЬ: я видел ответ с просьбой дать более подробную информацию:
#include <stdio.h>
#include <fnmatch.h>
int main (int argc, char** argv){
const char* patternOne = "[0-9]";
const char* patternTwo = ".?[a-z0-9]*?*[a-z0-9]";
int res = fnmatch(patternTwo, "0", 0);
printf("Result: %d\n", res);
}
Если я использую patternOne, результатом будет 0 (и если я изменю строку, чтобы соответствовать, результат изменится правильно).Однако если я использую patternTwo, я никогда не получу «Result: 0» для какой-либо строки, которую я передам fnmatch.Мне нужно сопоставить что-то подобное в моей программе (это для экзамена в университете, поэтому схемы очень сложны)