📢 Nuovo Corso Laravel API disponibile!

Esercizi lavorare con i file C

Ecco degli esercizi semplici con soluzione per praticare le basi su come lavorare con i file in C.

Esercizio 1

Creare un nuovo file e scriverci una stringa:
#include <stdio.h>
int main() {
FILE *file = fopen("test.txt", "w");
if (file != NULL) {
fprintf(file, "Questo è un esempio di scrittura su file.");
fclose(file);
printf("File creato e scrittura completata.\n");
} else {
printf("Errore nell'apertura del file.\n");
}
return 0;
}

Esercizio 2

Leggere il contenuto di un file di testo e stamparlo a schermo:
#include <stdio.h>
int main() {
FILE *file = fopen("test.txt", "r");
if (file != NULL) {
char carattere;
while ((carattere = fgetc(file)) != EOF) {
printf("%c", carattere);
}
fclose(file);
} else {
printf("Errore nell'apertura del file.\n");
}
return 0;
}

Esercizio 3

Copiare il contenuto di un file di testo in un altro file:
#include <stdio.h>
int main() {
FILE *file_origine = fopen("origine.txt", "r");
FILE *file_destinazione = fopen("destinazione.txt", "w");
if (file_origine != NULL && file_destinazione != NULL) {
char carattere;
while ((carattere = fgetc(file_origine)) != EOF) {
fputc(carattere, file_destinazione);
}
fclose(file_origine);
fclose(file_destinazione);
printf("Copia del file completata.\n");
} else {
printf("Errore nell'apertura dei file.\n");
}
return 0;
}

Esercizio 4

Verificare se un file esiste:
#include <stdio.h>
int main() {
FILE *file = fopen("test.txt", "r");
if (file != NULL) {
printf("Il file esiste.\n");
fclose(file);
} else {
printf("Il file non esiste.\n");
}
return 0;
}

Esercizio 5

Aggiungere del testo a un file esistente:
#include <stdio.h>
int main() {
FILE *file = fopen("test.txt", "a");
if (file != NULL) {
fprintf(file, "Questo testo verrà aggiunto al file.");
fclose(file);
printf("Aggiunta di testo al file completata.\n");
} else {
printf("Errore nell'apertura del file.\n");
}
return 0;
}

Esercizio 6

Contare il numero di caratteri, parole e righe in un file di testo:
#include <stdio.h>
int main() {
FILE *file = fopen("test.txt", "r");
if (file != NULL) {
int caratteri = 0;
int parole = 0;
int righe = 0;
char carattere;
while ((carattere = fgetc(file)) != EOF) {
caratteri++;
if (carattere == ' ' || carattere == '\n') {
parole++;
}
if (carattere == '\n') {
righe++;
}
}
fclose(file);
printf("Numero di caratteri: %d\n", caratteri);
printf("Numero di parole: %d\n", parole);
printf("Numero di righe: %d\n", righe);
} else {
printf("Errore nell'apertura del file.\n");
}
return 0;
}

Esercizio 7

Rinominare un file:
#include <stdio.h>
int main() {
if (rename("vecchio_nome.txt", "nuovo_nome.txt") == 0) {
printf("File rinominato con successo.\n");
} else {
printf("Errore nella rinomina del file.\n");
}
return 0;
}

Esercizio 8

Eliminare un file:
#include <stdio.h>
int main() {
if (remove("file_da_elimianre.txt") == 0) {
printf("File eliminato con successo.\n");
} else {
printf("Errore nell'eliminazione del file.\n");
}
return 0;
}

Esercizio 9

Creare una directory:
#include <stdio.h>
int main() {
if (mkdir("nuova_directory") == 0) {
printf("Directory creata con successo.\n");
} else {
printf("Errore nella creazione della directory.\n");
}
return 0;
}

Esercizio 10

Eliminare una directory:
#include <stdio.h>
int main() {
if (rmdir("directory_da_elimianre") == 0) {
printf("Directory eliminata con successo.\n");
} else {
printf("Errore nell'eliminazione della directory.\n");
}
return 0;
}