Código
int buscar(FILE * fp, char * cadena){ char car; if(longi < 1) return -2; int i=0; int k=0; if(car == cadena[i]){ k++; k++; if(k == longi-1) return 0; return -1; else i=k=0; } } return -1; }
La he probado con archivos de texto y funciona perfectamente...
El problema es que cuando le paso el .doc o .docx deja de buscar antes de llegar al final del archivo...he abierto el .doc con un editor hexadecimal y me he encontrado que dentro del propio archivo hay caracteres con FF y por lo tanto en cuanto se llega allí se cree que es el EOF y termina la búsqueda...
¿Hay alguna forma de detectar que no es el auténtico fin de fichero y continuar la búsqueda?