feof
Testy na koniec pliku w strumieniu.
int feof(
FILE *stream
);
Parametry
- stream
Wskaźnik, aby FILE struktury.
Wartość zwracana
feof Funkcja zwraca wartość różną od zera, jeśli operacja odczytu podjął próbę odczytu za końcem pliku; w przeciwnym razie zwraca 0.Jeśli wskaźnik strumienia jest NULL, funkcja wywołuje obsługi nieprawidłowy parametr, jak opisano w Sprawdzanie poprawności parametru.Jeśli wykonanie jest dozwolone, aby kontynuować, errno jest ustawiona na EINVAL i feof zwraca wartość 0.
Zobacz _doserrno, errno, _sys_errlist i _sys_nerr więcej informacji na temat tych i innych kodów błędów.
Uwagi
feof Rutynowych (implementowane jako funkcja i jak makra) określa, czy koniec stream została przekazana.Gdy koniec pliku jest przekazywana, przeczytaj operacji zwraca wskaźnik końca pliku, aż strumień jest zamknięty lub do rewind, fsetpos, fseek, lub clearerr nazywa się przed nim.
Na przykład, jeśli plik zawiera 10 bajtów i odczytać 10 bajtów z pliku feof zwróci 0, ponieważ, nawet jeśli wskaźnik pliku jest na końcu pliku, nie Próbowano odczytać poza koniec.Tylko po spróbuj odczytać bajt 11 będzie feof zwraca wartość różną od zera.
Wymagania
Funkcja |
Wymaganego nagłówka |
---|---|
feof |
<stdio.h> |
Aby uzyskać dodatkowe informacje o zgodności, zobacz zgodności we wprowadzeniu.
Przykład
// crt_feof.c
// This program uses feof to indicate when
// it reaches the end of the file CRT_FEOF.TXT. It also
// checks for errors with ferror.
//
#include <stdio.h>
#include <stdlib.h>
int main( void )
{
int count, total = 0;
char buffer[100];
FILE *stream;
fopen_s( &stream, "crt_feof.txt", "r" );
if( stream == NULL )
exit( 1 );
// Cycle until end of file reached:
while( !feof( stream ) )
{
// Attempt to read in 100 bytes:
count = fread( buffer, sizeof( char ), 100, stream );
if( ferror( stream ) ) {
perror( "Read error" );
break;
}
// Total up actual bytes read
total += count;
}
printf( "Number of bytes read = %d\n", total );
fclose( stream );
}
Dane wejściowe: crt_feof.txt
Line one.
Line two.
Dane wyjściowe
Number of bytes read = 19
Odpowiednik w programie .NET Framework
Nie dotyczy. Aby wywołać standardowych funkcji C, należy użyć PInvoke. Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy.