Si, hai ragione.
Ho cambiato in questo modo.

codice:
rest = strstr(sentence, string);
                if(rest!=NULL)
                {
                    found =1;
                    printf("found\n");
                    return;
                }
Ma alla fine ho fatto così grazie ad un aiuto:

codice:
/*  Il file contiene la stringa se la prima parte, o quelche altra più avanti neel file è uguale alla stringa."*/
int contains(FILE *file, char *str) 
{
    if (feof(file)) return 0;
    if (initial(file, str)) return 1;
    fgetc(file);  
    return contains(file, str);
}
int initial(FILE * file, char * str)
{
    if !(str*)      return 1; 
    if (feof(file)) return 0; 
    char c = fgetc(file);  
    int result = (c == *str)&& initial(file, str++);
    ungetc(c, file);
    return result;
}