Wyszukiwanie danej frazy w pliku tekstowym.

0

Witam serdecznie,
chciałbym dowiedzieć się jak w czystym C znaleźć daną frazę w pliku tekstowym. Załóżmy niech program szuka słowa 'for' w pliku i zliczy jego ilość.
Wymyśliłem jeden sposób, lecz wydaje mi się, że jest on mało optymalny i można to zrobić o wiele prościej.

int k;
// tab - wcześniej utworzona tablica, z zawartością pliku, size - rozmiar pliku
for (i=0; i<size; ++i) {
 if (tab[i]=='f' && tab[i+1]=='o' && tab[i+2]=='r') {
  ++k;
  i=i+3;
 }
} 
 
0
#include <stdio.h>
#include <string.h>
int main()
{
    char tekst[255] = "for";
    int ilosc=0;
    char zmienny[255] = "";
    FILE *plik;
    plik = fopen("plik.txt", "r");
    if(plik!=NULL)
    {
        while(fscanf(plik, "%s", &zmienny)!=EOF)
        {  
            if(!strcmp(tekst, zmienny))
                ilosc++;
        }
        fclose(plik);
        printf("Ilosc slowa %s w pliku: %d\n", tekst, ilosc);
    }
    else
        printf("blad otwarcia pliku!\n");
        
    system("PAUSE");    // opcjonalnie, w konsoli będzie błąd, a w Devie zatrzyma program 
    return 0;
     
}
 

1 użytkowników online, w tym zalogowanych: 0, gości: 1