Język C++
feof
[funkcja] Sprawdza czy został osiągnięty koniec pliku (EOF).Składnia
#include <cstdio>
int feof( FILE * stream );
Argumenty
Zwracana wartość
Zwraca wartość różną od zera gdy został osiągnięty koniec pliku. W przeciwnym wypadku funkcja zwraca wartość zero.
Opis szczegółowy
Funkcja zwraca wartość różną od zera, jeżeli ostatnio wykonana operacja odczytu danych zostanie przerwana z powodu osiągnięcia końca strumienia danych. Zazwyczaj strumieniem danych jest plik, jednak może być to również
stdin,
stdout lub
stderr.
Dodatkowe informacje
Flaga informująca o osiągnięciu końca pliku jest czyszczona, gdy jedna z następujących funkcji zostanie wywołana:
rewind,
fsetpos,
fseek lub
clearerr.
Przykład
Plik źródłowy
#include <cstdio>
int main()
{
FILE * pPlik = fopen( "plik.txt", "rb" );
if( !pPlik )
return 0;
while( !feof( pPlik ) )
{
const int iRozmiarBufora = 3;
char bufor[ iRozmiarBufora ];
int iOdczytanoBajtow = fread( bufor, sizeof( char ), iRozmiarBufora, pPlik );
printf( "Odczytano %d bajtow.\n", iOdczytanoBajtow );
}
fclose( pPlik );
return 0;
}
Wynik pierwszy
plik.txt
abcde
Standardowe wyjście programu
Odczytano 3 bajtow.
Odczytano 2 bajtow.
Wynik drugi
plik.txt
abcdef
Standardowe wyjście programu
Odczytano 3 bajtow.
Odczytano 3 bajtow.
Odczytano 0 bajtow.
Zagadnienia powiązane
clearerr | Czyści flagi błędów i status końca pliku (EOF) dla podanego strumienia. (funkcja) |
---|
ferror | Sprawdza czy wystąpił błąd w strumieniu. (funkcja) |
---|
Linki zewnętrzne
Wszystkie teksty są chronione prawami autorskimi. Kopiowanie lub rozpowszechnianie treści poza niniejszym serwisem
jest zabronione.
Powyższe ograniczenie nie dotyczy autora opracowania, któremu przysługuje prawo do rozpowszechniania własnego tekstu wedle własnego uznania.