Gestione dei File. Indice. Il file system in C. Principali operazioni sui file (dalla Standard Library) Esempi. Corso di Informatica A.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Gestione dei File. Indice. Il file system in C. Principali operazioni sui file (dalla Standard Library) Esempi. Corso di Informatica A."

Transcript

1 Gestione dei File Corso di Informatica A Vito Perrone 1 Il file system in C Indice Principali operazioni sui file (dalla Standard Library) Esempi 2

2 Il file system in C Flusso di comunicazione: binario (sequenza di byte) di tipo testo (sequenza di caratteri) Modalità di utilizzo: Lettura, scrittura o lettura e scrittura; Posizione corrente: Punta al prossimo byte da leggere o scrivere sul file; Indicatore di errore; Indicatore di end-of-file (eof). 3 Variabili puntatore stdin stdout stderr f1 f2 f3 Tabella file aperti Tabella dei file aperti nomefile:. nomefile:. nomefile:. nomefile: FileTre. nomefile: FileUno. nomefile: FileDue. File StandardInput StandardInput StandardError FileUno FileDue FileTre 4

3 Operazioni di gestione dei file FILE *fopen (nomefile, modalità) int fclose (FILE *fp) int remove (nomefile) int rename (vecchionome, nuovonome) int ferror (FILE *fp) int feof (FILE *fp) void clearerr (FILE *fp) 5 Operazioni di lettura/scrittura int fprintf (FILE *fp, stringa di controllo, elementi) int fscanf (FILE *fp, stringa di controllo, indirizzo elementi) int getchar (void) int putchar (int c) int fgetc (FILE *fp) int fputc (int c, FILE *fp) 6

4 Esempi con file di testo (1) /*Legge e mostra sul video il contenuto del file di testo filechar*/ #include <stdio.h> /* Contiene la definizione di EOF, del tipo FILE e le testate delle funzioni che operano su file */ #include <stddef.h> /* Contiene la definizione di NULL */ main() FILE *fp; char c; if ((fp = fopen("filechar", "r"))!= NULL) /* Il file viene aperto in lettura con modalità testo */ while ((c = fgetc(fp))!= EOF) /* Viene letto e stampato un carattere per volta sino a fine file */ putchar(c); fclose(fp); else printf("il file non può essere aperto\n"); 7 Esempi con file di testo (2) #include <stdio.h> #include <stddef.h> #include <string.h> #define OK 1 #define ERROR 0 #define MAXLINE 100 int copiaselettiva(char refstr[]) char line[maxline]; FILE *fin, *fout; /*Lettura e scrittura di stringhe (1)*/ If ((fin = fopen("filein", "r")) == NULL) /* filein viene aperto in lettura con modalità testo */ return ERROR; if ((fout = fopen("fileout", "w")) == NULL) /* fileout viene aperto in scrittura con modalità testo */ fclose(fin); return ERROR; 8

5 Esempi con file di testo (3) /*Lettura e scrittura di stringhe (2)*/ while (fgets(line,maxline,fin)!= NULL) /* fgets legge da filein al più MAXLINE 1 caratteri e assegna al vettore line i caratteri letti, incluso l'eventuale carattere di newline, e termina la stringa con il carattere \0 */ if (strstr (line,refstr)!= NULL) /* La funzione strstr restituisce la posizione della prima occorrenza della stringa puntata da refstr nella stringa puntata da line; se la seconda stringa non è contenuta nella prima viene restituito il valore NULL */ fputs(line,fout); fclose(fin); fclose(fout); return OK; 9 Lettura e scrittura di strutture int fread(void *ptr, dimelemento, numelementi, FILE *fp); int fwrite(void *ptr, dimelemento, numelementi, FILE *fp); 10

6 Esempio con file binario (1) /*Gestione file Persone (1)*/ typedef struct char nome[20]; char cognome[20]; char indirizzo[50]; Persona; typedef char CodFisc[16]; typedef struct char nome[20]; char cognome[20]; char indirizzo[50]; CodFisc CodiceFiscale; NuovaPersona; /* I file Persone, CodiciFiscali e Nuove Persone si suppongono aperti dal main. pp, cf e np fanno riferimento ai tre file in questione */ int AggiornaPersone (FILE *pp, FILE *cf, FILE *np) Persona PersonaCorrente; CodFisc CodFiscCorrente; NuovaPersona NuovaPersonaCorrente; 11 Esempio con file binario (2) rewind(pp); rewind(cf); rewind(np); /*Gestione file Persone (2)*/ /* Rende possibile le seguenti operazioni di lettura e scrittura sul file identificato da pp, iniziando dal primo byte del file.*/ while (fread(&personacorrente,sizeof(persona),1,pp)!= 0) /* Finché non si è raggiunta la fine del file */ fread(&codfisccorrente,sizeof(codfisc),1,cf); strcpy(nuovapersonacorrente.nome, PersonaCorrente.nome); strcpy(nuovapersonacorrente.cognome,personacorrente.cognome); strcpy(nuovapersonacorrente.indirizzo, PersonaCorrente.indirizzo); strcpy(nuovapersonacorrente.codicefiscale, CodFiscCorrente); fwrite(&nuovapersonacorrente,sizeof(nuovapersona),1,np); 12

7 Accesso diretto (1) int fseek(file *fp, long offset, int refpoint) SEEK_SET : scostamento rispetto all inizio del file, SEEK_CUR : scostamento rispetto alla posizione corrente, SEEK_END : scostamento rispetto alla fine del file. long ftell(file *fp) rewind(f) equivale a: fseek (f, 0, SEEK_SET); 13 Accesso diretto (2)... /*Inversione del contenuto di un file numint di interi (1)*/ main () FILE *f; long int inizio, fine; int tempi, tempf; unsigned int dim; if ((f = fopen ("numint", "rb+")) == NULL) puts ("Non è stato possibile aprire il file numint"); /* più efficiente della printf per la stampa di un messaggio dato che non richiede la scansione e l interpretazione della stringa di controllo */ exit(1); /* La funzione exit provoca una conclusione non anomala del programma e la restituzione del controllo al sistema operativo */ 14

8 Accesso diretto (3) /*Inversione del contenuto di un file numint di interi (2)*/... inizio = 0; dim = sizeof(int); fseek (f, dim, SEEK_END); /* SEEK_END è una costante definita nel file stdio.h. Ha valore 2 */ fine = ftell (f); while (inizio < fine) fseek (f, inizio, SEEK_SET); fread (&tempi, dim, 1, f); fseek (f, fine, SEEK_SET); fread (&tempf, dim, 1, f); /* È necessario riposizionarsi */ fseek (f, fine, SEEK_SET); fwrite (&tempi, dim, 1, f); fseek (f, inizio, SEEK_SET); fwrite (&tempf, dim, 1, f); inizio = inizio + dim; fine = fine dim; 15 Programma Servizio Voli (1) /* Programma ServizioVoli (1)*/ void main () [dichiarazioni varie: esse dovranno definire le variabili necessarie per far riferimento ai file che memorizzano l'archivio, le varie funzioni destinate alla sua gestione in relazione alle operazioni richieste, le variabili e i tipi associati all'archivio e le variabili e tipi necessari per la realizzazione del menu] Fine = false; do [RipulisciLoSchermo] puts ("\nsono disponibili le seguenti operazioni. Per selezionare un'operazione premere il tasto indicato alla destra dell'operazione e il carattere di Invio.\n"); /* Ricordiamo che puts inserisce dopo la stringa un newline ottenendo l'andata a capo */ puts ("Prenotazione volo: P"); puts ("Cancellazione di una prenotazione: C"); puts ("Inserimento in lista di attesa: A"); puts ("Fine operazioni: F"); Risposta = getchar (); 16

9 /* Programma ServizioVoli (2)*/ Risposta = getchar (); switch (Risposta) case 'P': ServiPrenotazioni(); break; case 'C': ServiCancellazioni(); break; case 'A': ServiListaAttesa(); break; case 'F': Fine = true; break; while (Fine == false); [RipulisciLoSchermo] puts ("\n\n\narrivederci\n"); Programma Servizio Voli (2) 17 Programma Servizio Voli (3) /* Programma ServizioVoli (3)*/ #define MAXPOSTI 350 typedef struct char Cognome[30]; char Nome[30]; Passeggero; typedef struct int NumVolo; char Data[10]; Passeggero Prenotazioni[MAXPOSTI]; Passeggero ListaAttesa[100]; DescrizioneVolo; 18

10 Programma Servizio Voli (4) /* Programma ServizioVoli (4)*/ boolean char FILE Fine; Risposta; *av; /* Puntatore al descrittore del file ArchivioVoli */ void ServiPrenotazioni (void); /* Esegue, se possibile, la prenotazione richiesta. In caso contrario, chiede automaticamente all'utente se desidera essere messo in lista di attesa. Se la risposta è positiva, chiama la funzione ServiListaAttesa senza bisogno di ritornare al menu principale. Dopo l'esecuzione della funzione ServiListaAttesa, termina anche la ServiPrenotazioni. L'esecuzione della funzione comporta l'interazione con l'utente attraverso un opportuno menu in cui vengono chiesti all'utente il numero e la data del volo desiderato, il cognome e il nome del passeggero. Dopo aver ottenuto i dati richiesti la funzione accede all'archivio e provvede alle necessarie operazioni di interrogazione e aggiornamento */ 19 Programma Servizio Voli (5) /* Programma ServizioVoli (5)*/ void ServiCancellazioni (void); /* Vengono chiesti, tramite opportuno menu, i dati del passeggero e l'identificazione del volo al quale si intende rinunciare. Viene cancellato il passeggero dalla relativa lista. Inoltre, se la lista d'attesa del volo non è vuota, si estrae il suo primo elemento e lo si inserisce nella lista delle prenotazioni. Viene quindi scritto un messaggio sul terminale che avvisa l'operatore che un elemento della lista d'attesa ha ora la sua prenotazione confermata */ void ServiListaAttesa(void); /* Vengono chieste le solite informazioni e viene inserito il passeggero nella lista d'attesa desiderata */ 20

La gestione dei file in C

La gestione dei file in C Gestione dei file La gestione dei file in C Il file è un astrazione molto ampia nella descrizione di un sistema informatico nastro di I/O supporto di comunicazione macchina/ambiente di ogni tipo (sensori,

Dettagli

I file. un file è una sorgente/destinazione di dati per diversi attori

I file. un file è una sorgente/destinazione di dati per diversi attori I file Il file è un astrazione molto ampia nella descrizione di un sistema informatico: Il concetto di file è uno snodo fondamentale di flussi di informazione anche tra applicazioni diverse un file è una

Dettagli

Gestione dei file in C

Gestione dei file in C Gestione dei file in C Fondamenti di Informatica Che cos è un file e a cosa serve? Memoria di massa vs memoria centrale q La memoria di massa (disco fisso) è un dispositivo di memorizzazione generalmente

Dettagli

A. Ferrari. File. in C

A. Ferrari. File. in C File in C stream - flussi in C la gestine dei file avviene attravers un fluss di cmunicazine per utilizzare un file è necessari dichiarare una variabile di tip puntatre al file (ad un ggett di tip FILE)

Dettagli

I files in C. A cura del prof. Ghezzi

I files in C. A cura del prof. Ghezzi I files in C A cura del prof. Ghezzi 1 Perchè i files? Realizzano la persistenza dei dati dati che sopravvivono all esecuzione del programma Sono delle strutture di dati sequenziali 2 Files e S.O. I files

Dettagli

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 13/03/07 Nota Questi lucidi sono tratti

Dettagli

Gestione dei file. Linguaggio ANSI C Input/Output - 13

Gestione dei file. Linguaggio ANSI C Input/Output - 13 Gestione dei file Necessità di persistenza dei file archiviare i file su memoria di massa. Un file è una astrazione fornita dal sistema operativo, il cui scopo è consentire la memorizzazione di informazioni

Dettagli

Gestione dei files. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Via Leopardi 132

Gestione dei files. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Via Leopardi 132 Gestione dei files Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Via Leopardi 132 Struttura del disco fisso Un disco fisso è composto da una serie di piatti sovrapposti Ogni piatto è

Dettagli

Gestione dei File in C

Gestione dei File in C Gestione dei File in C Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania mpalesi@diit.unict.it http://www.diit.unict.it/users/mpalesi Sommario In questo documento saranno introdotte

Dettagli

Il linguaggio C. Breve panoramica su stdio.h

Il linguaggio C. Breve panoramica su stdio.h Il linguaggio C Breve panoramica su stdio.h 1 Input/Output: stdio.h Contiene definizioni di costanti legate all I/O es. EOF (end of file) #define EOF (-1) valore restituito alla fine di un file Contiene

Dettagli

Linguaggio C Gestione File

Linguaggio C Gestione File Gestione File: Il file è l'unità logica di memorizzazione dei dati su memoria di massa, che consente una memorizzazione persistente dei dati non limitata dalle dimensioni della memoria centrale. Nel linguaggio

Dettagli

Gestione dei File. dischi nastri cd

Gestione dei File. dischi nastri cd Gestione dei File Per mantenere disponibili i dati tra le diverse esecuzioni di un programma, questi si devono archiviare in file su memoria di massa (dati persistenti): dischi nastri cd Un file è un astrazione

Dettagli

DOTT. ING. LEONARDO RIGUTINI DIPARTIMENTO INGEGNERIA DELL INFORMAZIONE UNIVERSITÀ DI SIENA VIA ROMA 56 53100 SIENA UFF. 0577234850-7102 RIGUTINI@DII

DOTT. ING. LEONARDO RIGUTINI DIPARTIMENTO INGEGNERIA DELL INFORMAZIONE UNIVERSITÀ DI SIENA VIA ROMA 56 53100 SIENA UFF. 0577234850-7102 RIGUTINI@DII Gestione dei files DOTT. ING. LEONARDO RIGUTINI DIPARTIMENTO INGEGNERIA DELL INFORMAZIONE UNIVERSITÀ DI SIENA VIA ROMA 56 53100 SIENA UFF. 0577234850-7102 RIGUTINI@DII.UNISI.IT HTTP://WWW.DII.UNISI.IT/~RIGUTINI/

Dettagli

GESTIONE DEI FILE IN C. Docente: Giorgio Giacinto AA 2008/2009

GESTIONE DEI FILE IN C. Docente: Giorgio Giacinto AA 2008/2009 Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2

Dettagli

Esercizi. I File ed il C

Esercizi. I File ed il C Politecnico di Milano Esercizi File di testo,, file binari I File ed il C Insieme omogeneo di dati, memorizzato su disco e caratterizzato da un nome La lunghezza di un file non è fissata a priori Astrazione

Dettagli

I File. Consente una memorizzazione persistente dei dati, non limitata dalle dimensioni della memoria centarle.

I File. Consente una memorizzazione persistente dei dati, non limitata dalle dimensioni della memoria centarle. I File Il file e l unita logica di memorizzazione dei dati su memoria di massa. Consente una memorizzazione persistente dei dati, non limitata dalle dimensioni della memoria centarle. Generalmente un file

Dettagli

Linguaggio C: i file

Linguaggio C: i file Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica A - GES Prof. Plebani A.A. 2006/2007 Linguaggio C: i file La presente dispensa e da utilizzarsi ai soli fini didattici previa

Dettagli

Introduzione. L elaborazione dei files in C. Elaborazione dei files (1) Elaborazione dei files (2) D.D. cap. 11+ pp K.P. pp.

Introduzione. L elaborazione dei files in C. Elaborazione dei files (1) Elaborazione dei files (2) D.D. cap. 11+ pp K.P. pp. Introduzione L elaborazione dei files in C D.D. cap. 11+ pp. 569-572 K.P. pp. 581-583 La memorizzazione dei dati nelle variabili e nei vettori è temporanea: tutti quei dati andranno persi quando il programma

Dettagli

Operazioni su file di caratteri

Operazioni su file di caratteri Operazioni su file di caratteri Apertura fopen Chiusura fclose Scrittura fprintf Lettura fscanf Controllo fine file feof Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1 Apertura di un file: Si

Dettagli

FILE: tipo operazione Istruì. prototipo esempi lettura di un carattere fgetc Int fgetc(file *flusso) Vedi sotto

FILE: tipo operazione Istruì. prototipo esempi lettura di un carattere fgetc Int fgetc(file *flusso) Vedi sotto FILE: tipo operazione Istruì. prototipo esempi lettura di un carattere fgetc Int fgetc(file *flusso) Vedi sotto alla volta Scrittura di un fputc Int fputc(int ch, FILE *flusso); carattere alla volta Lettura

Dettagli

Gestione dei file. File di testo e binari

Gestione dei file. File di testo e binari Gestione dei file Un file e definito come un oggetto, presente nel file system, costituito da una sequenza continua di bytes Un file, per poter essere utilizzato, deve essere aperto Successivamente e possibile

Dettagli

Input / Output. Come già detto, input e output sono realizzati in C da funzioni di stdio.h all'interno della libreria standard

Input / Output. Come già detto, input e output sono realizzati in C da funzioni di stdio.h all'interno della libreria standard Stdio.h Input / Output Come già detto, input e output sono realizzati in C da funzioni di stdio.h all'interno della libreria standard Sia i file che i dispositivi (tastiera, schermo...) sono visti come

Dettagli

Introduzione al C. Stream e disk file

Introduzione al C. Stream e disk file Introduzione al C Stream e disk file Stream Un canale è una sequenza di byte di dati Sorgente o destinazione di dati che possono essere associati ad un disco o ad altre periferiche Due tipi di stream:

Dettagli

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 15 Maggio 2013

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 15 Maggio 2013 File Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 15 Maggio 2013 Obiettivi Alcuni problemi aperti Il main() Allocazione dinamica della memoria Il salvataggio dei dati File File

Dettagli

Input / Output. Come già detto, input e output sono realizzati in C da funzioni di stdio.h all'interno della libreria standard

Input / Output. Come già detto, input e output sono realizzati in C da funzioni di stdio.h all'interno della libreria standard Stdio.h Input / Output Come già detto, input e output sono realizzati in C da funzioni di stdio.h all'interno della libreria standard Sia i file che i dispositivi (tastiera, schermo...) sono visti come

Dettagli

GESTIONE DEI FILE IN C

GESTIONE DEI FILE IN C GESTIONE DEI FILE IN C Il concetto di file.. è una parte logicamente contigua del contenuto di un dispositivo! Deve essere capace di memorizzare grandi quantità di dati! I dati memorizzati devono sopravvivere

Dettagli

I File. Il file e` l'unita` logica di memorizzazione dei dati su memoria di massa.

I File. Il file e` l'unita` logica di memorizzazione dei dati su memoria di massa. I File Il file e` l'unita` logica di memorizzazione dei dati su memoria di massa. Consente una memorizzazione persistente dei dati, non limitata dalle dimensioni della memoria centrale. Generalmente un

Dettagli

I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002

I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002 I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002 dott.ssa Francesca A. Lisi lisi@di.uniba.it Sommario Generalità sui file in C I file ad accesso sequenziale I file di testo Riferimenti

Dettagli

Introduzione al C. Unità 9 File. D. Bloisi, S. Peluso, A. Pennisi, S. Salza

Introduzione al C. Unità 9 File. D. Bloisi, S. Peluso, A. Pennisi, S. Salza Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Unità 9 File D. Bloisi, S. Peluso, A. Pennisi, S. Salza Sommario Input/Output Stream

Dettagli

File binari e file di testo

File binari e file di testo I file File binari e file di testo distinzione tra file binari file di testo si possono usare funzioni diverse per la gestione di tipi di file diversi Programmazione Gestione dei file 2 File binari e file

Dettagli

Indice. La gestione dei file in C e gli stream. Apertura e chiusura di un file. Operazioni sui file. Accesso sequenziale e non sequenziale

Indice. La gestione dei file in C e gli stream. Apertura e chiusura di un file. Operazioni sui file. Accesso sequenziale e non sequenziale File in C Indice La gestione dei file in C e gli stream Apertura e chiusura di un file Operazioni sui file Accesso sequenziale e non sequenziale Gestione dei file in C In C all interno della standard library

Dettagli

SOMMARIO SU LETTURA E SCRITTURA (I/O) DEGLI STANDARD FILES

SOMMARIO SU LETTURA E SCRITTURA (I/O) DEGLI STANDARD FILES SOMMARIO SU LETTURA E SCRITTURA (I/O) DEGLI STANDARD FILES Con conversione di formato: int scanf (const char *format,... ) /* ritorna il numero di argomenti assegnati con successo altrimenti EOF se fine

Dettagli

Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune.

Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune. Le strutture Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune. Dichiarazione di una struttura: struct point { int x; int y; }; La dichiarazione di una struttura

Dettagli

Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE

Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE Input/output da file Il linguaggio C non contiene istruzioni di I/O, in quanto tali operazioni vengono eseguite tramite funzioni di libreria standard. Questo approccio rende estremamente flessibile e potente

Dettagli

Informatica A (per gestionali) A.A. 2004/2005. Esercizi di riepilogo

Informatica A (per gestionali) A.A. 2004/2005. Esercizi di riepilogo Informatica A (per gestionali) A.A. 2004/2005 Esercizi di riepilogo Indice 1 File... 3 1.1 Codifica file di testo...3 1.2 Elimina tag HTML...4 1.3 File binario ordinato...6 1.4 Archivio film...7 1.5 Archivio

Dettagli

I File. File. File di testo. Esempi di file di testo. Gestione di file in C. Gestione di file in C

I File. File. File di testo. Esempi di file di testo. Gestione di file in C. Gestione di file in C mylib.obj mylib.c #include mylib.h int leggi(int a[], int dim) { int i=0; while( scanf("%d", a+i) ) { i++; if( i>=dim ) break; return i; void scambia(int *a, int *b) { int t; t = *a; *a = *b; *b = t; mylib.h

Dettagli

Fondamenti di Informatica T. Linguaggio C: File

Fondamenti di Informatica T. Linguaggio C: File Linguaggio C: File I File Il file e` l'unita` logica di memorizzazione dei dati su memoria di massa, che consente una memorizzazione persistente dei dati, non limitata dalle dimensioni della memoria centrale.

Dettagli

Laboratorio di Informatica Ingegneria Clinica Lezione 30/11/2011

Laboratorio di Informatica Ingegneria Clinica Lezione 30/11/2011 Laboratorio di Informatica Ingegneria Clinica Lezione 30/11/2011 Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via del Policlinico, 147 00161 Roma I/O in C Il sistema di I/O del C è una interfaccia uniforme

Dettagli

Capitolo 11 Elaborazione di file

Capitolo 11 Elaborazione di file 1 Capitolo 11 Elaborazione di file 11.1 Introduzione 2 I file Possono essere creati, modificati, ed elaborati da programmi scritti in C Sono utilizzati per la memorizzazione permanente dei dati La memorizzazione

Dettagli

Il linguaggio C I file. mylib.h contribuenti.txt. #include <stdio.h> #define N 25 Paolucci,Enrico, 24000,23.0. fornitori.dat

Il linguaggio C I file. mylib.h contribuenti.txt. #include <stdio.h> #define N 25 Paolucci,Enrico, 24000,23.0. fornitori.dat Il linguaggio C I file mylib.c #include mylib.h int leggi(int a[], int dim) { int i=0; while( scanf("%d", a+i) ) { i++; if( i>=dim ) break; return i; void scambia(int *a, int *b) { int t; t = *a; *a =

Dettagli

Capitolo 5 -- Stevens

Capitolo 5 -- Stevens Libreria standard di I/O Capitolo 5 -- Stevens Libreria standard di I/O rientra nello standard ANSI C perché è stata implementata su molti sistemi operativi oltre che su UNIX le sue funzioni individuano

Dettagli

caratteri, immagini, suoni, ecc.

caratteri, immagini, suoni, ecc. Il linguaggio C Input e output I flussi di I/O L uso di buffer Apertura e chiusura di file Lettura e scrittura di dati La selezione di un metodo di I/O I/O non bufferizzato L accesso diretto a file Input

Dettagli

Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune.

Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune. Le strutture Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune. Dichiarazione di una struttura: struct point { int x; int y; }; La dichiarazione di una struttura

Dettagli

LP1 Lezione 13: i File in C. Maurizio Tucci

LP1 Lezione 13: i File in C. Maurizio Tucci LP1 Lezione 13: i File in C Maurizio Tucci mtucci@unisa.it 1 Il File: Dichiarazione Memorizzare dati in maniera non volatile In C (libreria ) è definito un tipo FILE che astrae il concetto di sequenza

Dettagli

I file possono essere manipolati (aperti, letti, scritti ) all interno di programmi C. dischi nastri cd

I file possono essere manipolati (aperti, letti, scritti ) all interno di programmi C. dischi nastri cd Per poter mantenere disponibili i dati tra le diverse esecuzioni di un programma (persistenza dei dati) è necessario poterli archiviare su memoria di massa. dischi nastri cd GESTIONE DEI FILE I file possono

Dettagli

Struttura dati FILE. Motivazioni: memorie a confronto

Struttura dati FILE. Motivazioni: memorie a confronto Struttura dati FILE Motivazioni: memorie a confronto La memoria centrale (RAM) è tecnologia elettronica basata su Le memorie secondarie sono basate su tecnologie magnetiche (HD) o ottiche (CD, DVD) Conseguenze

Dettagli

Scrittura formattata - printf

Scrittura formattata - printf Esercizi su Input/Output con formato FormattedIO 1 Scrittura formattata - printf Funzione printf int printf ( , ) La funzione restituisce un valore intero uguale ai caratteri

Dettagli

Esercitazione n. 6. Gestione dei file e ricorsione

Esercitazione n. 6. Gestione dei file e ricorsione Esercitazione n. 6 Gestione dei file e ricorsione dott. Carlo Todeschini tode@cremona.polimi.it Politecnico di Milano A.A. 2010/2011 Queste slide sono distribuite con licenza Creative Commons Attribuzione-Non

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Cosa sono i file? Un file è un archivio di dati che puo essere registrato su un supporto di massa (testo, lettera, programma, archivio di dati, ecc.) Fondamenti di Informatica 12. Linguaggio C - Gestione

Dettagli

Suggerimenti, note utili ed errori comuni. Fondamenti di informatica T

Suggerimenti, note utili ed errori comuni. Fondamenti di informatica T Suggerimenti, note utili ed errori comuni Fondamenti di informatica T printf, scanf e stringhe di formato La lettura e scrittura di variabili in formato testo sono realizzate tramite printf e scanf sfruttando

Dettagli

Matrici, stringhe e I/O da file

Matrici, stringhe e I/O da file Memory Leakage (I) Se si perde il valore di un puntatore di una zona di memoria allocata, quella memoria non e piu utilizzabile dal processo e non e piu liberabile : rimane quindi proprieta del processo

Dettagli

Gestione dei file. Stefano Ferrari. Università degli Studi di Milano Programmazione. anno accademico

Gestione dei file. Stefano Ferrari. Università degli Studi di Milano Programmazione. anno accademico Gestione dei file Stefano Ferrari Università degli Studi di Milano stefano.ferrari@unimi.it Programmazione anno accademico 2016 2017 Gli stream Si dice stream qualsiasi sorgente di dati in ingresso e qualsiasi

Dettagli

file fisico file logico

file fisico file logico I files Un file è una struttura di dati residente su una memoria di massa (file fisico) Un programma vede un file come una sequenza di bytes (file logico) Generalizzando, un file può comprendere qualsiasi

Dettagli

Un file è un astrazione di memorizzazione di dimensione potenzialmente illimitata (ma non infinita), ad accesso sequenziale.

Un file è un astrazione di memorizzazione di dimensione potenzialmente illimitata (ma non infinita), ad accesso sequenziale. IL CONCETTO DI FILE Un file è una astrazione fornita dal sistema operativo, il cui scopo è consentire la memorizzazione di informazioni su memoria di massa. Concettualmente, un file è una sequenza di registrazioni

Dettagli

Laboratorio di Sistemi Operativi primavera 2009

Laboratorio di Sistemi Operativi primavera 2009 primavera 2009 Libreria standard di I/O Libreria standard di I/O rientra nello standard ANSI C perché è stata implementata su molti sistemi operativi oltre che su UNIX le sue funzioni individuano il file

Dettagli

FILE BINARI. I file di testo non sono indispensabili: sono semplicemente comodi!

FILE BINARI. I file di testo non sono indispensabili: sono semplicemente comodi! FILE BINARI Un file binario è una pura sequenza di byte, senza alcuna strutturazione particolare. È un'astrazione di memorizzazione assolutamente generale, usabile per memorizzare su file informazioni

Dettagli

I File. Il file e l unita logica di memorizzazione dei dati su memoria di massa.

I File. Il file e l unita logica di memorizzazione dei dati su memoria di massa. I File Il file e l unita logica di memorizzazione dei dati su memoria di massa. Consente una memorizzazione persistente dei dati, non limitata dalle dimensioni della memoria centrale. Generalmente un file

Dettagli

Sono file di caratteri, organizzati in linee. Ogni linea è terminata da un marcatore di fine linea (newline, carattere \n ).

Sono file di caratteri, organizzati in linee. Ogni linea è terminata da un marcatore di fine linea (newline, carattere \n ). I file Il file è l unità logica di memorizzazione dei dati su memoria di massa. Consente una memorizzazione persistente dei dati, non limitata dalle dimensioni della memoria centrale. Generalmente un file

Dettagli

Fondamenti di Informatica L-A

Fondamenti di Informatica L-A Fondamenti di Informatica L-A Esercitazione del 30/11/07 Ing. Giorgio Villani Ripasso Teoria File dati ES: nome.dat Leggere fopen( nome_file, rb ); fread(void *vet, int size, int n, FILE *fp); Scrivere

Dettagli

Programmazione C Massimo Callisto De Donato

Programmazione C Massimo Callisto De Donato Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE

Dettagli

Linguaggio C La libreria standard

Linguaggio C La libreria standard FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C La libreria standard 2001 Pier Luca Montessoro - Davide Pierattoni

Dettagli

Sulla libreria standard, III. Manipolare file con stdio.h

Sulla libreria standard, III. Manipolare file con stdio.h Sulla libreria standard, III Manipolare file con stdio.h 1 Libreria per input/output Con libreria si intende una collezione di sottoprogrammi che vengono utilizzati per lo sviluppo di software non eseguibili,

Dettagli

Gestione dei File C. Generalità

Gestione dei File C. Generalità Gestione dei File C 1 Generalità Il linguaggio C non contiene alcuna istruzione di Input/Output. Tali operazioni vengono svolte mediante chiamate a funzioni definite nella libreria standard contenute nel

Dettagli

File binari, Operazioni sui File binari, Allocazione dinamica della memoria

File binari, Operazioni sui File binari, Allocazione dinamica della memoria File binari, Operazioni sui File binari, Allocazione dinamica della memoria Vitoantonio Bevilacqua bevilacqua@poliba.it Parole chiave: File binari, Funzioni principali file binari, Funzione malloc, Allocazione

Dettagli

Lab 10 Gestione file di testo

Lab 10 Gestione file di testo Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 10 Gestione file di testo Lab15 1 Esercizio 1 n Realizzare un programma che, aperto un file di testo di nome

Dettagli

Il File-System. I file in ambiente Linux Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino

Il File-System. I file in ambiente Linux Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino Il File-System I file in ambiente Linux Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino 2 File System Il file-system è uno degli aspetti più visibili di un sistema operativo

Dettagli

Struttura dati FILE. Concetto di FILE

Struttura dati FILE. Concetto di FILE Struttura dati FILE Concetto di FILE Per poter mantenere disponibili dei dati tra diverse esecuzioni di un programma (PERSISTENZA dei dati), è necessario poterli archiviare su memoria di massa. Un file

Dettagli

Input/Output. Lettura e scrittura Caratteri e Stringhe: Terminale e file. Input/output. caratteri stringhe formattato ascii binari

Input/Output. Lettura e scrittura Caratteri e Stringhe: Terminale e file. Input/output. caratteri stringhe formattato ascii binari Input/Output Lettura e scrittura Caratteri e Stringhe: Terminale e file Input/output console file caratteri stringhe formattato ascii binari Linguaggio ANSI C Input/Output - 1 La libreria standard del

Dettagli

Strutture dati e realizzazione in C. Componenti software:

Strutture dati e realizzazione in C. Componenti software: Strutture dati e realizzazione in C Strutture dati: Termine usato per indicare tipi con elementi del dominio compositi, ad esempio: vettori e matrici; tavole; liste; insiemi; pile e code; alberi e grafi.

Dettagli

Sono file di caratteri, organizzati in linee. Ogni linea e` terminata da una marca di fine linea (newline, cara ttere '\n').

Sono file di caratteri, organizzati in linee. Ogni linea e` terminata da una marca di fine linea (newline, cara ttere '\n'). I File Il file e` l'unita` logica di memorizzazione dei dati su memoria di massa. Consente una memorizzazione persistente dei dati, non limitata dalle dimensioni della memoria centrale. Generalmente un

Dettagli

Struttura a record. File ad accesso diretto. Modalità di apertura. Modalità di apertura

Struttura a record. File ad accesso diretto. Modalità di apertura. Modalità di apertura Struttura a record 2 File ad accesso diretto Il file è organizzato in record aventi tutti la stessa struttura e quindi dimensione record 0 record 1 record 2 Ver. 2.4 2010 - Claudio Fornaro - Corso di programmazione

Dettagli

Sono file di caratteri, organizzati in linee. Ogni linea è terminata da un marcatore di fine linea (newline, carattere '\n').

Sono file di caratteri, organizzati in linee. Ogni linea è terminata da un marcatore di fine linea (newline, carattere '\n'). I file Il file è l unità logica di memorizzazione dei dati su memoria di massa. Consente una memorizzazione persistente dei dati, non limitata dalle dimensioni della memoria centrale. Generalmente un file

Dettagli

File e puntatori a file

File e puntatori a file File e puntatori a file Vitoantonio Bevilacqua vitoantonio.bevilacqua@poliba.it La libreria stdio.h mette a disposizione delle funzioni che hanno la peculiarità di trattare con questa nuova tipologia di

Dettagli

Librerie C. Corso di Linguaggi e Traduttori 1 AA Corso di Linguaggi e Traduttori 1 AA stdio.h

Librerie C. Corso di Linguaggi e Traduttori 1 AA Corso di Linguaggi e Traduttori 1 AA stdio.h Corso di Linguaggi e Traduttori 1 AA 2004-05 1 Corso di Linguaggi e Traduttori 1 AA 2004-05 stdio.h 2 Funzioni comuni di I/O? Le piu' comuni funzioni che permettono I/O sono getchar() e putchar():? int

Dettagli

Esercizio n.1 FONDAMENTI DI INFORMATICA 1. Esercizio n.2. Soluzione. LINGUAGGIO C Funzioni e gestione file: esercitazione

Esercizio n.1 FONDAMENTI DI INFORMATICA 1. Esercizio n.2. Soluzione. LINGUAGGIO C Funzioni e gestione file: esercitazione Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica (Industriale), Chimica, Meccanica, Elettrica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011

Dettagli

Fondamenti di Informatica. Tecniche di input/output per l'accesso ai file

Fondamenti di Informatica. Tecniche di input/output per l'accesso ai file Corso di per il corso di Laurea di Ingegneria Meccanica Tecniche di input/output per l'accesso ai file Università degli Studi di Udine - A.A. 2010-2011 Docente Ing. Sandro Di Giusto Ph.D. 1 L'importanza

Dettagli

Gestione dei File C II Parte

Gestione dei File C II Parte Gestione dei File C II Parte Funzioni fwrite,fread,fseek,ftell 1 fwrite(), fread() Le funzioni fread() e fwrite() vengono utilizzate per la lettura e la scrittura su file di un blocco di dati di qualsiasi

Dettagli

Fondamenti di informatica, Sez. Ing. Informatica, Ing. Gestionale, Ing. Ambientale II prova in itinere, 29 Gennaio 2009

Fondamenti di informatica, Sez. Ing. Informatica, Ing. Gestionale, Ing. Ambientale II prova in itinere, 29 Gennaio 2009 Fondamenti di informatica, Sez. Ing. Informatica, Ing. Gestionale, Ing. Ambientale II prova in itinere, 29 Gennaio 2009 Esercizio 1 (punti 3) Sia data la funzione ricorsiva seguente: void elabora (unsigned

Dettagli

int ninv; /* numero di inventario */

int ninv; /* numero di inventario */ 1) Scrivere il programma C che legga da un file di testo ("dati.dat") i record con dati relativi ad un archivio di dischi (utilizzando la struttura data) e scriva il file dati1.dat con i nomi degli artisti

Dettagli

IL CONCETTO DI FILE. È illecito operare oltre la fine del file.

IL CONCETTO DI FILE. È illecito operare oltre la fine del file. IL CONCETTO DI FILE Un file è una astrazione fornita dal sistema operativo, il cui scopo è consentire la memorizzazione di informazioni su memoria di massa. Concettualmente, un file è una sequenza di registrazioni

Dettagli

Informatica 1. Prova di recupero 21 Settembre 2001

Informatica 1. Prova di recupero 21 Settembre 2001 Informatica 1 Prova di recupero 21 Settembre 2001 Si risolvano i seguenti esercizi. Ai fini della determinazione del voto finale il loro punteggio andrà sommato al punteggio del laboratorio. Il tempo complessivo

Dettagli

È un astrazione t i fornita dal sistema operativo, per consentire la memorizzazione di informazioni su memoria di massa È un astrazione di

È un astrazione t i fornita dal sistema operativo, per consentire la memorizzazione di informazioni su memoria di massa È un astrazione di File qualche nota riassuntiva Che cos è un file? È un astrazione t i fornita dal sistema operativo, per consentire la memorizzazione di informazioni su memoria di massa È un astrazione di memorizzazione

Dettagli

Librerie C. Corso di Linguaggi e Traduttori 1 AA

Librerie C. Corso di Linguaggi e Traduttori 1 AA Corso di Linguaggi e Traduttori 1 AA 2004-05 1 Corso di Linguaggi e Traduttori 1 AA 2004-05 stdio.h 2 Funzioni comunidi I/O? Le piu' comuni funzioni che permettono I/O sono getchar() e putchar():? int

Dettagli

Prefissi (modificatori). signed, unsigned, short, long. Dichiarazione delle variabili. <tipo> <nome>; Es:

Prefissi (modificatori). signed, unsigned, short, long. Dichiarazione delle variabili. <tipo> <nome>; Es: LINGUAGGIO C 1 Creato nel 1972 da Dennis Ritchie (Kernighan & Ritchie, Linguaggio C, 2nd ed.) Caratteristiche: Potenza Flessibilità Successo Portabilità Modularità Da C bisogna partire per imparare C++

Dettagli

Se vogliamo cambiarlo: i dati vengono sovrascritti. 300 White Jones (vecchio valore) 300 Worthington 0.00

Se vogliamo cambiarlo: i dati vengono sovrascritti. 300 White Jones (vecchio valore) 300 Worthington 0.00 File position pointer File position pointer Indica la posizione da cui leggere/scrivere i prossimi byte Non un puntatore, ma un valore intero (specifica la posizione dall inizio file in termini di numero

Dettagli

Sommario FONDAMENTI DI INFORMATICA 1. Il tipo FILE. Passaggio da standard I/O. LINGUAGGIO C Gestione dei file

Sommario FONDAMENTI DI INFORMATICA 1. Il tipo FILE. Passaggio da standard I/O. LINGUAGGIO C Gestione dei file Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica (Industriale), Chimica, Meccanica, Elettrica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011

Dettagli

FILE BINARI FILE BINARI

FILE BINARI FILE BINARI FILE BINARI Un file binario è una pura sequenza di byte, senza alcuna strutturazione particolare È un'astrazione di memorizzazione assolutamente generale, usabile per memorizzare su file informazioni di

Dettagli

Esercizio 1 (15 punti)

Esercizio 1 (15 punti) Esercizio 1 (15 punti) Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 30 giugno 2017 In un lontano paese da

Dettagli

dott. Sabrina Senatore

dott. Sabrina Senatore dott. Sabrina Senatore Dipartimento di Informatica Riepilogo strutture 1 Sintassi della dichiarazione: typedef struct nome_tipo { Dichiarazione dei campi nome_tipo; typedef struct point{ int x; int y;

Dettagli

per leggere caratteri: getchar(void); Laboratorio di linguaggi

per leggere caratteri: getchar(void); Laboratorio di linguaggi Lettura e scrittura di caratteri per leggere caratteri: getchar(void); Laboratorio di linguaggi per scrivere caratteri: putchar(int); Le molte volte l input viene bufferizzato fino al tasto ENTER 1 2 Lettura

Dettagli

Corso di Laurea in Ingegneria Meccanica A-K. Fondamenti di Informatica A. A Gestione dei File. A.Pinto

Corso di Laurea in Ingegneria Meccanica A-K. Fondamenti di Informatica A. A Gestione dei File. A.Pinto Corso di Laurea in Ingegneria Meccanica A-K Fondamenti di Informatica A. A. 2011-2012 1 Memorizzazione dei dati su dispositivi di memoria esterna Dispositivi di memorizzazione secondaria sono: dischi,

Dettagli

LA LIBRERIA STANDARD DEL C

LA LIBRERIA STANDARD DEL C LA LIBRERIA STANDARD DEL C La libreria standard del C La libreria standard del C è in realtà un insieme di librerie Per usare una libreria, non occorre inserirla esplicitamente. Ogni file sorgente che

Dettagli

Esercizio 1 (15 punti)

Esercizio 1 (15 punti) Esercizio 1 (15 punti) Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 16 giugno 2017 Il noto gioco MasterMind

Dettagli

Esercitazione 11. Liste semplici

Esercitazione 11. Liste semplici Esercitazione 11 Liste semplici Liste semplici (o lineari) Una lista semplice (o lineare) è una successione di elementi omogenei che occupano in memoria una posizione qualsiasi. Ciascun elemento contiene

Dettagli

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave

Dettagli

Esercizi di programmazione in linguaggio C English Dictionary

Esercizi di programmazione in linguaggio C English Dictionary Esercizi di programmazione in linguaggio C English Dictionary Il file di testo wordnet.txt contiene un certo numero di parole (word) e il corrispondente significato (meaning) secondo il seguente formato:

Dettagli

ELEMENTI DI INFORMATICA LB ESERCITAZIONE (del 09/03/2007) Files, Strutture e Liste

ELEMENTI DI INFORMATICA LB ESERCITAZIONE (del 09/03/2007) Files, Strutture e Liste ELEMENTI DI INFORMATICA LB ESERCITAZIONE (del 09/03/2007) Files, Strutture e Liste ESERCIZIO n.1 È dato un file di testo che contiene l'elenco dei vestiti presenti in un negozio. Il file contiene al massimo

Dettagli

Esercizi. Codifica file di testo

Esercizi. Codifica file di testo Politecnico di Milano Esercizi Esercizi di riepilogo sul linguaggio C: file, puntatori, liste Codifica file di testo Utilizzando la codifica di Cesare, scrivere un programma in grado di criptare e decriptare

Dettagli