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?

Respuestas a la pregunta(4)

Su respuesta a la pregunta