Buscar cadena en el archivo de texto C
El siguiente código lee un archivo de texto con un carácter a la vez y lo imprime en la salida estándar:
#include <stdio.h>
int main()
{
char file_to_open[] = "text_file.txt", ch;
FILE *file_ptr;
if((file_ptr = fopen(file_to_open, "r")) != NULL)
{
while((ch = fgetc(file_ptr)) != EOF)
{
putchar(ch);
}
}
else
{
printf("Could not open %s\n", file_to_open);
return 1;
}
return(0);
}
Pero en lugar de imprimir en stdout [putchar (ch)] quiero buscar en el archivo cadenas específicas proporcionadas en otro archivo de texto, es decir. strings.txt y muestra la línea con la coincidencia con out.txt
text_file.txt
:
1993 - 1999 Pentium 1997 - 1999 Pentium II 1999 - 2003 Pentium III 1998 - 2009 Xeon 2006 - 2009 Intel Core 2
strings.txt
:
Nehalem AMD Athlon Pentium
En este caso las tres primeras líneas detext_file.txt
coincidiría He investigado un poco sobre las operaciones de archivo en C, y parece que puedo leer un personaje a la vez confgetc
[como hago en mi código], una línea confgets
y una cuadra confread
, pero ninguna palabra como supongo que sería perfecta en mi situación?