From f3ea999cbcb7487e3fcb4e75989a51bf422d7097 Mon Sep 17 00:00:00 2001 From: Vichingo455 Date: Wed, 26 Mar 2025 10:07:21 +0000 Subject: [PATCH] Update file/es1.cpp --- file/es1.cpp | 206 +++++++++++++++++++++++++-------------------------- 1 file changed, 103 insertions(+), 103 deletions(-) diff --git a/file/es1.cpp b/file/es1.cpp index c52c876..a93de04 100644 --- a/file/es1.cpp +++ b/file/es1.cpp @@ -1,103 +1,103 @@ -/* -AUTORE: Manuel Vichi 3^AIN -Esercizio 1 stringhe -*/ -#include -#include -#include - -void leggiFileCaratterePerCarattere(const char *nomeFile) { - // Apre il file in lettura - FILE* file = fopen(nomeFile,"r"); - // Verifica se il file è stato aperto correttamente - if (file == NULL) { - perror("l'errore e' stato: "); - } - // Legge il file carattere per carattere, stamparlo a schermo - int ch = 0; - int chn = 0; - while ((ch = fgetc(file))!=EOF) { - putchar(ch); - chn++; - } - // Chiude il file - fclose(file); -} - -int cambiaNomeFile(const char *vecchioNome, const char *nuovoNome) { - // Rinomina il file - if (rename(vecchioNome,nuovoNome) != 0) - return 1; - printf("Il nome del file è stato cambiato da '%s' a '%s'\n", vecchioNome, nuovoNome); - return 0; -} - -int cancellaFile(const char *nomeFile) { - // Elimina il file - if (remove(nomeFile) != 0) - return 1; - printf("Il file '%s' è stato eliminato con successo.\n", nomeFile); - return 0; // Restituisce 0 se l'eliminazione è avvenuta con successo -} - - -void copiaFileCaratterePerCarattere(const char* nomeFileOrigine, const char* nomeFileDestinazione) { - FILE* fileOrigine = fopen(nomeFileOrigine, "r"); - FILE* fileDestinazione = fopen(nomeFileDestinazione, "w"); - if (fileOrigine != NULL) { - int ch = 0; - while ((ch = fgetc(fileOrigine)) != EOF) - fputc((char)ch,fileDestinazione); - } - // Chiudi i file - fclose(fileOrigine); - fclose(fileDestinazione); -} - -void pausa(){ - system("pause"); - system("dir"); - system("pause"); -} - -void copiaPrimi100Caratteri(const char* nomeFileSorgente, const char* nomeFileDestinazione) { - FILE* fileSorgente = fopen(nomeFileSorgente, "r"); - FILE* fileDestinazione = fopen(nomeFileDestinazione, "w"); - if (fileSorgente != NULL) { - int ch = 0; - int chn = 0; - while ((ch = fgetc(fileSorgente)) != EOF && chn != 100) { - fputc((char)ch,fileDestinazione); - chn++; - } - } - // Chiudi i file - fclose(fileSorgente); - fclose(fileDestinazione); -} - -void aggiungiStringa(const char* nomeFile, const char* nome) { - // Apre il file in modalità append (aggiunta in coda) - // Scrive la stringa "BY: nome" in una nuova linea - FILE* file = fopen(nomeFile, "a"); - char nome2[256] = "\nBY: "; - strcat(nome2,nome); - fputs(nome2,file); - // Chiude il file - fclose(file); -} - - -int main() { - leggiFileCaratterePerCarattere("vmware.log"); - pausa(); - copiaFileCaratterePerCarattere("vmware.log", "copia.txt"); - pausa(); - cambiaNomeFile("copia.txt", "log.txt"); - pausa(); - cancellaFile("log.txt"); - pausa(); - copiaPrimi100Caratteri("vmware.log", "copia100.dat"); - aggiungiStringa("copia100.dat", "Manuel Vichi"); - return 0; -} +/* +AUTORE: Manuel Vichi 3^AIN +Esercizio 1 file +*/ +#include +#include +#include + +void leggiFileCaratterePerCarattere(const char *nomeFile) { + // Apre il file in lettura + FILE* file = fopen(nomeFile,"r"); + // Verifica se il file è stato aperto correttamente + if (file == NULL) { + perror("l'errore e' stato: "); + } + // Legge il file carattere per carattere, stamparlo a schermo + int ch = 0; + int chn = 0; + while ((ch = fgetc(file))!=EOF) { + putchar(ch); + chn++; + } + // Chiude il file + fclose(file); +} + +int cambiaNomeFile(const char *vecchioNome, const char *nuovoNome) { + // Rinomina il file + if (rename(vecchioNome,nuovoNome) != 0) + return 1; + printf("Il nome del file è stato cambiato da '%s' a '%s'\n", vecchioNome, nuovoNome); + return 0; +} + +int cancellaFile(const char *nomeFile) { + // Elimina il file + if (remove(nomeFile) != 0) + return 1; + printf("Il file '%s' è stato eliminato con successo.\n", nomeFile); + return 0; // Restituisce 0 se l'eliminazione è avvenuta con successo +} + + +void copiaFileCaratterePerCarattere(const char* nomeFileOrigine, const char* nomeFileDestinazione) { + FILE* fileOrigine = fopen(nomeFileOrigine, "r"); + FILE* fileDestinazione = fopen(nomeFileDestinazione, "w"); + if (fileOrigine != NULL) { + int ch = 0; + while ((ch = fgetc(fileOrigine)) != EOF) + fputc((char)ch,fileDestinazione); + } + // Chiudi i file + fclose(fileOrigine); + fclose(fileDestinazione); +} + +void pausa(){ + system("pause"); + system("dir"); + system("pause"); +} + +void copiaPrimi100Caratteri(const char* nomeFileSorgente, const char* nomeFileDestinazione) { + FILE* fileSorgente = fopen(nomeFileSorgente, "r"); + FILE* fileDestinazione = fopen(nomeFileDestinazione, "w"); + if (fileSorgente != NULL) { + int ch = 0; + int chn = 0; + while ((ch = fgetc(fileSorgente)) != EOF && chn != 100) { + fputc((char)ch,fileDestinazione); + chn++; + } + } + // Chiudi i file + fclose(fileSorgente); + fclose(fileDestinazione); +} + +void aggiungiStringa(const char* nomeFile, const char* nome) { + // Apre il file in modalità append (aggiunta in coda) + // Scrive la stringa "BY: nome" in una nuova linea + FILE* file = fopen(nomeFile, "a"); + char nome2[256] = "\nBY: "; + strcat(nome2,nome); + fputs(nome2,file); + // Chiude il file + fclose(file); +} + + +int main() { + leggiFileCaratterePerCarattere("vmware.log"); + pausa(); + copiaFileCaratterePerCarattere("vmware.log", "copia.txt"); + pausa(); + cambiaNomeFile("copia.txt", "log.txt"); + pausa(); + cancellaFile("log.txt"); + pausa(); + copiaPrimi100Caratteri("vmware.log", "copia100.dat"); + aggiungiStringa("copia100.dat", "Manuel Vichi"); + return 0; +}