Programa para buscar en un fichero una palabra
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
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
