static bool match(const char *text, const char *pattern)
{
while (*text && *pattern)
{
switch (*pattern)
{
case '#':
if ( !isdigit(*text) )
return false;
default:
if (*pattern != *text)
return false;
}
text++;
pattern++;
}
return *text == 0 && *pattern == 0;
}
int main(int, char **)
{
const char text[] = "123-45-6789";
const char pattern[] = "###-##-####";
printf("%s applied to %s returns %d.\n", pattern, text, match(text, pattern));
return 0;
}