feof - jak to działa? (ANSI C)

0

Może to dlatego, że już tak późno i siedzę nad tym C kilka godzin, ale to feof mnie zaczyna dobijać.
Według pomocy w BorlandC feof zwraca 0, jeżeli nie napotkano znaku końca pliku. Czyli konstrukcja:
while (feof(plik)==0)
fgets(s, 10, plik);
powinna wykonywać się, aż osiągnięty zostanie koniec pliku.

Nie wiem dlaczego tak jest, ale w dwóch miejscach mojego programu mam raz ==0 a drugi raz !=0 i zależenie od ochoty mojego komputera raz działa jedno raz drugie. Czy może mieć na to wpływ, że ten sam plik był w krótkim czasie przed feof utworzony, zamknięty i ponownie utworzony? Jak to w końcu jest z tym makrem, bo przestaję wierzyć plikowi pomocy.

0

eee dryo ja bym dał while(fgetc(plik) != EOF)

0

eee dryo ja bym dał while(fgetc(plik) != EOF)

Tylko, że getc zczytuje znak, a ja tego nie chcę.
Jakoś na razie działa (świeżość umysłu ułatwia naprawianie kodu). Teraz tylko z rozmiarem pliku tekstowego się męczę.

0

while (feof(plik)==0)
fgets(s, 10, plik);

o ile dobrze pamiętam feof zwróci coś róznego od zera , dopiero wtedy gdy funkcji fgets nie uda sie zczytać znaków z pliku

0

kuba napadnij mnie na GG.. tak sie sklada ze akurat to przerabiamy na wykladach i ci podrzuce artykuly o tym jakie dal nam wykladowca

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