Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Opracował: Piotr DejaVu Szawdyński
Pomógł: GoldWolf
Język C++

feof

[funkcja] Sprawdza czy został osiągnięty koniec pliku (» standard CEOF).

Składnia

C/C++
#include <cstdio>

int feof( FILE * stream );

Argumenty

ArgumentOpis
FILE *streamOkreśla strumień na którym ma zostać wykonana operacja.

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ż » standard Cstdin, » standard Cstdout lub » standard Cstderr.

Dodatkowe informacje

Flaga informująca o osiągnięciu końca pliku jest czyszczona, gdy jedna z następujących funkcji zostanie wywołana: » standard Crewind, » standard Cfsetpos, » standard Cfseek lub » standard Cclearerr.

Przykład

Plik źródłowy

C/C++
#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 );
    } //while
    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

clearerrCzyści flagi błędów i status końca pliku (EOF) dla podanego strumienia. (funkcja)
ferrorSprawdza czy wystąpił błąd w strumieniu. (funkcja)

Linki zewnętrzne