int s = 0;
while (1) {
switch(s)
{
case 0:
// looking for p
switch(getchar()) {
case 'p': s=1; break;
case EOF: exit(NO); break;
default: break;
} break;
case 1:
// found p and 0 or more digits
switch(getchar()) {
case '0': case '1': ... case '9': break;
case '.': s=2; break;
case 'p': s=1; break;
case EOF: exit(NO); break;
default: s=0; break;
} break;
Similalry s=2,3,4..
look for gif and if found exit(YES)