У меня есть этот простой код:
regex_t regex;
int re;
if ((re = regcomp(®ex, "^add:([a-zA-Z]{3,},{1}){2}(06)[0-9]{8},{1}([0-9]{10}),{1}([a-zA-Z0-9]+\\.?[a-zA-Z0-9]+)+@[a-zA-Z]+\\.[a-ZA-Z]+$", REG_EXTENDED))){
printf("Result: %d ->", re);
perror("Cannot compile because of");
exit(EXIT_FAILURE);
}
if ((re = regcomp(®ex, "^remove:[a-zA-Z]{3,}$", REG_EXTENDED))){
printf("Result: %d ->", re);
perror("Cannot compile because of");
exit(EXIT_FAILURE);
}
Когда я запускаю программу, вывод:
Result: 11 -> Cannot compile because of: Success
Он входит в первый оператор if.Но если я напишу только первый фрагмент кода (то есть первый if и объявление переменных) в другом файле, это сработает.
Я не понимаю, что не так в моем коде.