feof

In questa lezione studieremo la funzione feof in C, che serve a sapere se il file pointer si trova posizionato a fine file.

La sintassi della funzione è la seguente:

int feof(FILE *fp)

La funzione feof ritorna 0 se non è stata raggiunta la fine del file, altrimenti restituisce un valore logico.


Esempio di utilizzo di feof

Modifichiamo l’esempio precedente dove abbiamo utilizzato un ciclo for per leggere i dati. Quindi utilizziamo un ciclo while che si ferma quando raggiunge la fine del file.

#include <stdio.h>
#include <stdlib.h>
#define N 5

int main() {
	FILE *fp;
	char cognome[20];
	char nome[20];
	int i, voto;
	
	if((fp=fopen("alunni.txt", "rt"))==NULL) {
		printf("Errore nell'apertura del file'");
		exit(1);
	}

	while(!feof(fp)){
		fscanf(fp,"%s %s %d\n", &cognome, &nome, &voto);
		printf("cognome: %s, nome: %s, voto: %d\n", cognome, nome, voto);
	}
	fclose(fp);
	
return 0;
}

Attenzione, conviene quindi utilizzare questa funzione nata per questo scopo. Infatti potremmo ottenere lo stesso risultato utilizzando altre funzioni, ma per i file binari può succedere che una sequenza di informazioni possa essere scambiata come costante EOF, segnando erroneamente la fine del file.

Quindi meglio utilizzare la funzione feof, appositamente creata dal C.

Alcuni link utili

Indice argomenti linguaggio C

La funzione fopen

La funzione fclose

Funzione fprintf

Funzione fscanf

Allocazione dinamica della memoria con malloc

Utilizzo di malloc in C

Calloc

Realloc

Garbage collection

Free

Strutture in C

Typedef struct in C

Esempio sulle struct in C

Esercizio sulle struct in C

Esercitazione sulle struct in C

Realizzare un menù di scelta in C

Altro esempio sulle struct in C

Strutture complesse in C

Media per riga e per colonna

Somma elementi diagonale principale di una matrice

Come sommare gli elementi della cornice esterna

Come sommare due matrici

Sommare dei numeri di una matrice

Matrice trasposta

Prodotto tra matrici

Ricerca elementi in una matrice

Inserire dati in una matrice

Tavola pitagorica in C

Array multidimensionali

Programma sui triangoli in C

Media dei numeri in un array

Array con numeri random

Quick sort in C

Selection sort in C

Merge sort in C

Insertion Sort in C

Autore dell'articolo: cristina

Avatar per Coding Creativo

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *