... pués

ahora veo que entonces ni siquiera sé el correcto manejo de scanf

... porque de verdad no le hayo... Con scanf uno sabe (limita se puede decir) lo que el usuario ha de ingresar por teclado... y es eso, ya tengo mi formato preestablecido... pero no sé cómo, con fscanf ir recojiendo las palabras... porque sí, son archivos de texto y solo quiero encontrar una palabra y buscarla... para colorearla...
Ahora se me ha ocurrido hacer algo así:
Código:
//obviamente abro el archivo con fopen()
while(!feof(file)) {
c= fgetc(file);
i=0;
if(c==busc[i] && c!='\n') { // busc es mi palabra que busco
// si el primer carácter coincide con el carácter leido del archivo...
coin[i]=c; // lo "almaceno" en otro arreglo de nombre coin
// y en ese mismo arreglo guardo los carácteres contiguos hasta que tenga la misma extención que mi palabra buscada
for(i=1; i<strlen(busc); i++) coin[i]=fgetc(file);
coin[i]='\0';
if((strcmp(coin, busc))==0) cprintf("%s", busc); // comparo y si son iguales imprimo con color
else printf("%s", coin); // si son diferentes imprimo lo almacenado
} else printf("%c", c); // si no hubo coincidencia inicial simplemente recorriendo el archivo
}
pero se me hace algo engorroso... y así no compara palabras como tal, por ejemplo si busco "en" igual me lo identificaria en d"en"tro, di"en"te ... etc... No creo haya problemas en hacer otro par de validaciones para que solo haga la comparación inicial (la del carácter tomado con el primero de la palabra) después de un espacio ó salto de línea...

... ó hacer un ciclo para guardar palabras...

...

creo eso sería más efectivo y apenas se me ocurrió... ¿es así como lo planteaste
MaxExtreme??.. porque igual no entendí... mencionas que hay que recorrer carácter por carácter... pero en tu función manejas cadenas como tal ¿no?... palabras... pero entonces ¿cómo obtienes las palabras?.. que es mi pregunta en realidad...