Porownanie stringa z plikiem.

Porownanie stringa z plikiem.
lamaczyk
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 29
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.

Kopiuj
 #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.

kq
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
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];

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
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.

lamaczyk
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 29
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.

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0

Poczytaj opis strstr

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.