Programa para buscar en un fichero una palabra

Enoch2k2
12 de Enero del 2003
Buff, he probado con todas las funciones del mundo pero no se como hacer el programa. El programa consiste en buscar en un archivo que especifique el usuario, una palabra que tambien elegira el usuario.
Me he atrancado, este es el codigo que tengo, me compila pero no rula. Me da un "segmentation error" (Es para Linux):

#include <stdio.h>
main()
{
FILE *flFichero;
char cAux,cFichero[30],cPatron[8];
int i=0,j=0;
system("clear");
puts ("Introduce el nombre y la ruta del archivo: ");
scanf ("%s",&cFichero);
fopen (cFichero,"r");
if (cFichero==NULL)
{
puts ("Error, no se ha podido abrir el archivo");
exit (1);
}
puts ("Introduce la palabra que quieres buscar");
scanf ("%s",&cPatron);
cAux=fgetc(flFichero);
//fread (&cAux,sizeof(cAux),1,flFichero);
while (!feof (flFichero) )
{
j++;
while (cAux==cPatron[i])
{
i++;
if (cLetra=='n')
{
printf ("Palabra encontrada en el caracter %d del ficheron",j);
exit (1);
}
//fread (&cAux,sizeof(cAux),1,flFichero);
cAux=fgetc(flFichero);
}
}
puts ("Palabra no encontrada");
printf ("n");
fclose (flFichero);
}
Si alguien tiene tiempo que le eche un ojo

Muchas gracias por adelantado

gmantil
12 de Enero del 2003
No tengo mucho tiempo ahora para detallar tu programa, pero a simple vista veo un error:
Las cadenas de caracteres en tu caso cPatron, no se leen con & (ampersan) en un scanf, pues las cadenas ya son un apuntador. Debes hacer:
scanf("%s",cPatron);
Suerte,

gmantil