La funzione ftell in C consente di restituire la posizione corrente del file pointer rispetto all'inizio del file. La posizione corrente è espressa come numero di byte.

La sintassi della funzione ftell in C è dunque la seguente:

long ftell(FILE *fp)

La funzione ftell in C restituisce dunque un intero che è la posizione corrente del puntatore.

C base

Fondamenti solidi di programmazione

Impara le basi della programmazione in C in modo semplice, pratico ed efficace. Variabili, cicli, funzioni, logica e algoritmi.

  • 9 ore di corso registrato
  • Più di 50 algoritmi risolti passo passo
  • Livello base
  • 100% online, fruibile quando vuoi

FILE *fp è, come nelle altre funzioni, il puntatore a FILE ottenuto dalla precedente chiamata fopen.


Esempio funzione ftell in C

Facciamo adesso un semplice esempio di programma che visualizza la dimensione di un file utilizzando le funzioni fseek ed ftell.

Supponiamo quindi di avere un file di testo di nome alunni.txt che contiene i nomi di alcuni alunni.

Quindi apriamo il file alunni.txt in lettura, con la funzione fopen, e calcoliamo semplicemente la dimensione di questo file utilizzando fseek per spostare il puntatore alla fine del file ed ftell per restituire la dimensione in byte del nostro file.

Ecco dunque il listato dell'esempio con l'uso di ftell in C:

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

int main() {
	FILE *fp;
	long n;
	
	if((fp=fopen("alunni.txt", "rt"))==NULL) {
		printf("Errore nell'apertura del file'");
		exit(1);
	}
	
	fseek(fp,0L,SEEK_END);
	n=ftell(fp);

	fclose(fp);
	
	printf("Dimensione del file in byte: %ld\n", n);
	
return 0;
	
}

Sono svariati i casi in cui si può utilizzare la funzione ftell in C, infatti si potrebbe ad esempio voler conoscere la posizione di un valore massimo o di un determinato valore a seguito di una ricerca e così via. Nei tutorial che seguiranno vedremo ancora altri esempi d'uso.

Alcuni link utili

Indice argomenti linguaggio C

La funzione fopen

La funzione fclose

Funzione fprintf

Funzione fscanf

Allocazione dinamica della memoria con malloc

Strutture in C

Copertina: 50 Algoritmi per imparare C++
📚 Consigliato per te

50 Algoritmi per imparare C++

Struttura dati, puntatori e algoritmi classici in C++, passo passo.

Vedi su Amazon

Typedef struct in C

Esercitazione sulle struct in C

Realizzare un menù di scelta in C

Strutture complesse in C

Come sommare gli elementi della cornice esterna

Come sommare due matrici

Matrice trasposta

Prodotto tra matrici

Ricerca elementi in una matrice

Tavola pitagorica in C

Array multidimensionali

Quick sort in C

Selection sort in C

Merge sort in C

Insertion Sort in C

🐍

Vuoi imparare Python da zero?

Scarica la guida gratuita Python in 10 giorni: 10 lezioni pratiche con esempi ed esercizi, direttamente nella tua email.

📥 Scarica gratis il PDF →