Wyszukaj ciąg w pliku tekstowym C

Poniższy kod odczytuje plik tekstowy w tym samym czasie i drukuje go na standardowe wyjście:

#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);
}

Ale zamiast drukować na stdout [putchar (ch)] Chcę przeszukać plik pod kątem określonych ciągów dostarczonych w innym pliku tekstowym, tj. strings.txt i wypisz wiersz z dopasowaniem 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

W tym przypadku trzy pierwsze linietext_file.txt pasuje. Zrobiłem kilka badań na temat operacji na plikach w C i wydaje mi się, że mogę czytać jedną postać w tym czasiefgetc [jak ja w moim kodzie], jedna linia zfgets i jeden blok zfread, ale żadne słowo, jak sądzę, nie byłoby idealne w mojej sytuacji?

questionAnswers(4)

yourAnswerToTheQuestion