📢 Nuovo Corso Laravel API disponibile!

Esercizi Gestione File in C

Ecco degli esercizi semplici con soluzione per praticare la gestione dei file in C.

Esercizio 1: Lettura di un File di Testo

Leggere un file di testo riga per riga e stamparne il contenuto.
#include <stdio.h>
int main() {
FILE *file = fopen("testo.txt", "r");
if (file == NULL) {
printf("Errore nell'apertura del file\n");
return 1;
}
char buffer[256];
while (fgets(buffer, sizeof(buffer), file)) {
printf("%s", buffer);
}
fclose(file);
return 0;
}

Esercizio 2: Scrittura in un File di Testo

Scrivere una stringa in un file di testo.
#include <stdio.h>
int main() {
FILE *file = fopen("output.txt", "w");
if (file == NULL) {
printf("Errore nell'apertura del file\n");
return 1;
}
fprintf(file, "Ciao, mondo!\n");
fclose(file);
return 0;
}

Esercizio 3: Aggiungere Dati a un File di Testo

Aggiungere una stringa alla fine di un file di testo esistente.
#include <stdio.h>
int main() {
FILE *file = fopen("output.txt", "a");
if (file == NULL) {
printf("Errore nell'apertura del file\n");
return 1;
}
fprintf(file, "Aggiunta di una nuova riga\n");
fclose(file);
return 0;
}

Esercizio 4: Copiare il Contenuto di un File

Copiare il contenuto di un file in un altro file.
#include <stdio.h>
int main() {
FILE *src = fopen("input.txt", "r");
FILE *dst = fopen("output.txt", "w");
if (src == NULL || dst == NULL) {
printf("Errore nell'apertura dei file\n");
return 1;
}
char buffer[256];
while (fgets(buffer, sizeof(buffer), src)) {
fputs(buffer, dst);
}
fclose(src);
fclose(dst);
return 0;
}

Esercizio 5: Contare il Numero di Linee in un File

Contare il numero di linee in un file di testo.
#include <stdio.h>
int main() {
FILE *file = fopen("testo.txt", "r");
if (file == NULL) {
printf("Errore nell'apertura del file\n");
return 1;
}
int count = 0;
char buffer[256];
while (fgets(buffer, sizeof(buffer), file)) {
count++;
}
printf("Numero di linee: %d\n", count);
fclose(file);
return 0;
}

Esercizio 6: Lettura e Scrittura di Dati Binari

Leggere e scrivere dati binari in un file.
#include <stdio.h>
typedef struct {
int id;
char nome[50];
} Record;
int main() {
Record rec1 = {1, "Mario"};
Record rec2;
FILE *file = fopen("dati.bin", "wb");
if (file == NULL) {
printf("Errore nell'apertura del file\n");
return 1;
}
fwrite(&rec1, sizeof(Record), 1, file);
fclose(file);
file = fopen("dati.bin", "rb");
if (file == NULL) {
printf("Errore nell'apertura del file\n");
return 1;
}
fread(&rec2, sizeof(Record), 1, file);
printf("ID: %d, Nome: %s\n", rec2.id, rec2.nome);
fclose(file);
return 0;
}