Realizziamo oggi un esercizio che conta i caratteri numerici in un file, utilizzando le funzioni fopen, fgetc e fclose in C.
Apriamo quindi in lettura un file di testo precedentemente creato con la funzione fopen. Dopo finché fgetc non restituisce EOF, che come abbiamo già spiegato nella lezione precedente corrisponde alla fine del file (può però indicare anche un errore di lettura), contiamo quanti caratteri numerici sono stati inseriti. Per contare i caratteri basta controllare che siano compresi tra 0 e 9 ed incrementare il contatore precedentemente inizializzato a zero.
Infine chiudiamo il file e stampiamo a video il numero di caratteri numerici che sono stati trovati nel file.
Listato completo dell’algoritmo che conta i caratteri numerici in un file
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *fp;
int c, conta=0;
if((fp=fopen("carattere.txt", "rt"))==NULL) {
printf("Errore nell'apertura del file'");
exit(1);
}
while((c=fgetc(fp))!=EOF)
{
if(c>='0' && c<='9')
conta++;
}
fclose(fp);
printf("il numero di caratteri e': %d", conta);
return 0;
}
Chiaramente questa esposta è una delle possibili soluzioni al problema che richiede di contare i caratteri numerici in un file di testo in C.
Alcuni link utili
Allocazione dinamica della memoria con malloc
Esercitazione sulle struct in C
Realizzare un menù di scelta in C
Altro esempio sulle struct in C
Somma elementi diagonale principale di una matrice
Come sommare gli elementi della cornice esterna
Sommare dei numeri di una matrice
Ricerca elementi in una matrice