Article View: pl.comp.lang.c
Article #308558Re: Dziwne zachowanie feof
From: keiichi
Date: Sat, 14 May 2016 18:49
Date: Sat, 14 May 2016 18:49
24 lines
1889 bytes
1889 bytes
W dniu 2016-05-14 o 16:14, Borneq pisze: > Tłumaczyłem przykład z Pascala na C i nie działał w C. W końcu okazało > się że to było spowodowane dziwnym działaniem feof. Zachowanie nie jest dziwne. Te funkcje są w obu językach inaczej zdefiniowane. feof w C zwraca wartość różną od zera jeśli poprzednia operacja osiągnęła koniec pliku, ale sama nie próbuje czytać. Eof w Pascalu wykonuje próbę odczytu (ale nie zmienia bieżącego położenia w pliku) i zwraca True lub False w zależności od osiągnięcia końca pliku. > Jeśli plik ma 100 bajtów i pozycja w pliku wynosi 100 to Pascal > stwierdzi że jest koniec pliku, natomiast feof nie! Trzeba dopiero > spróbować coś przeczytać i ma się nie udać. > Jak to obejść? Odpowiednikiem pascalowego eof powinno być coś takiego: int ch = getc(fp); if (ch == EOF) return 1; ungetc(ch, fp); return 0; Pozdrawiam
Technical Details
Message-ID:
<nh7rvl$ktp$1@node2.news.atman.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mailReferences:
<nh7bt0$5ie$1@node2.news.atman.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail From: keiichi <keiichi100@poczta.USUNTO.pl> Newsgroups: pl.comp.lang.c Subject: Re: Dziwne zachowanie feof Date: Sat, 14 May 2016 20:49:18 +0200 Organization: ATMAN - ATM S.A. Lines: 25 Message-ID: <nh7rvl$ktp$1@node2.news.atman.pl> References: <nh7bt0$5ie$1@node2.news.atman.pl> NNTP-Posting-Host: staticline3273.toya.net.pl Mime-Version: 1.0 X-Trace: node2.news.atman.pl 1463251765 21433 217.113.238.157 (14 May 2016 18:49:25 GMT) X-Complaints-To: usenet@atman.pl NNTP-Posting-Date: Sat, 14 May 2016 18:49:25 +0000 (UTC) User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.0 In-Reply-To: <nh7bt0$5ie$1@node2.news.atman.pl> X-Antivirus: avast! (VPS 160514-2, 2016-05-14), Outbound message X-Antivirus-Status: Clean Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit