Porownanie stringa z plikiem.

0

Cześć. Mam takie zadanie:
Opracować program wyszukujący w pliku tekstowym wszystkie wystąpienia słowa podanego z wiersza poleceń.
Program powinien generować raport zawierający numery linii i numery znaków wiersza w których znajduje się szukane słowo.
Można założyć, że wszystkie dane będą poprawne.

Nagryzmoliłem sam początek ,ale program po wpisaniu tekstu wywala się. Nie mam pojęcia o co chodzi.

 #include <stdlib.h>
#include <string.h>
#include <stdio.h>

int main()
{
    FILE* fp = fopen("plik.txt", "r");
    char tekst, buf;
    char *wynik;
    int a = 100;
    scanf("%s", tekst);
    while (!feof(fp))
    {
        fgets(buf, a, fp);
        wynik = strstr(buf, tekst);
        printf(wynik);

        return 0;
    }
}

Serdecznie proszę o pomoc w zrozumieniu tych mechanizmów.

2

tekst jest znakiem. Próbujesz wczytać string do znaku. To nie ma sensu, pewnie chciałeś zadeklarować tekst jako tablicę, np. char tekst[0x100];

3

Znajdź może przykłady użycia scanf i fgets oraz poczytaj o napisach cstring bo jakimś cudem ci się wydaje że jedną czapkę może założyć cały pułk żołnierzy jednocześnie.

0

Dobra. Poprawilem tablicę. Działa, ale znajduje pierwsze slowo w tekscie, ktore się powtarza i wypisuje to slowo, ora inne, aż do końca wiersza. To co znajduje się w innych wierszach pomija. Czyli mam dwa problemy.

0

Poczytaj opis strstr

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