A. Ferrari. File. in C

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "A. Ferrari. File. in C"

Transcript

1 File in C

2 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) la funzine fpen permette di aprire un file per pter perare cn ess la funzine fclse chiude il fluss e termina le perazini su quest.

3 tipi di flussi in C trviam due tipi di flussi di cmunicazine: binari : sequenze di byte di test : sequenze di caratteri suddivise in linee terminate dal carattere di newline

4 il tip FILE all intern di un FILE trviam tutte le infrmazini necessarie per la sua gestine: mdalità di utilizz: lettura, scrittura lettura e scrittura psizine crrente: punta al prssim byte da leggere scrivere sul file; indicatre di errre indicatre di end-f-file (ef)

5 dichiarazine FILE *<nme del file>; esempi: FILE *fp; i flussi standard (tastiera e vide) sn autmaticamente aperti all inizi dell esecuzine di un prgramma stdin (standard input) è assciat alla tastiera stdut (standard utput) è assciat al vide stderr (standard errr) è assciat al vide es. printf scrive su stdut e scanf legge da stdin

6 apertura di un file FILE *fpen (nmefile, mdalità) restituisce il puntatre a un file aprend il fluss secnd la mdalità specificata mdalità pssibili: r: lettura in mdalità test, psizinament inizi file w: scrittura in mdalità test, psizinament inizi file a: scrittura in mdalità test, psizinament fine file rb, wb, ab: r, w, a, in mdalità binaria r+, w+, a+, rb+, wb+, ab+: lettura e scrittura su file cn mdalità di test binaria

7 chiusura intfclse (FILE *fp) pne a NULL il valre di fp, restituisce 0 EOF in cas di errri

8 perazini sui file int remve(nmefile) elimina un file (0 se eliminat cn success) int rename(vecchinme,nuvnme) rinmina un file (0 perazine terminata cn success) int fef(file *fp) 1 (true) se si è raggiunta la fine del file

9 perazini di lettura e scrittura tipi di lettura e scrittura lettura e scrittura frmattata: si definisce il frmat dei dati da maniplare lettura e scrittura di caratteri: access per caratteri lettura e scrittura di stringhe: access per linee lettura e scrittura di strutture: acces per blcchi

10 lettura e scrittura frmattata int printf (stringa di cntrll, elementi) int scanf (stringa di cntrll, indirizz elementi) int fprintf (FILE *fp, stringadicntrll, elementi) int fscanf (FILE *fp, stringadicntrll, indirizz elementi)

11 lettura e scrittura per caratteri int getchar (vid) int putchar(int c) int getc(file *fp) int fgetc (FILE *fp) int putc (int c, FILE *fp) int fputc (int c, FILE *fp)

12 lettura e scrittura per stringhe char *gets(char *s) int fgets (char *s, int n, FILE *fp) int puts (char *s) int fputs (char *s, FILE *fp)

13 esempi cn file di test (1) /*Legge e mstra sul vide il cntenut del file di test filechar*/ #include <stdi.h> /* Cntiene la definizine di EOF, del tip FILE e le testate delle funzini che peran su file */ #include <stddef.h> /* Cntiene la definizine di NULL */ main() { FILE *fp; char c; } if ((fp = fpen("filechar", "r"))!= NULL) /* Il file viene apert in lettura cn mdalità test */ { while ((c = fgetc(fp))!= EOF) /* Viene lett e stampat un carattere per vlta sin a fine file */ putchar(c); fclse(fp); } else printf("il file nn può essere apert\n");

14 esempi cn file di test (2) /*Lettura e scrittura di stringhe (1)*/ #include <stdi.h> #include <stddef.h> #include <string.h> #define OK 1 #define ERROR 0 #define MAXLINE 100 int cpiaselettiva(char refstr[]) { char line[maxline]; FILE *fin, *fut; if ((fin = fpen("filein", "r")) == NULL) /* filein viene apert in lettura cn mdalità test */ return ERROR; if ((fut = fpen("fileut", "w")) == NULL) /* fileut viene apert in scrittura cn mdalità test */ { fclse(fin); return ERROR; }

15 esempi cn file di test (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 vettre line i caratteri letti, inclus l'eventuale carattere di newline, e termina la stringa cn il carattere \0 */ if (strstr (line,refstr)!= NULL) /* La funzine strstr restituisce la psizine della prima ccrrenza della stringa puntata da refstr nella stringa puntata da line; se la secnda stringa nn è cntenuta nella prima viene restituit il valre NULL */ fputs(line,fut); fclse(fin); fclse(fut); return OK; }

16 lettura e scrittura di strutture int fread(vid *ptr, dimelem, numelem, FILE *fp); int fwrite(vid *ptr, dimelem, numelem, FILE *fp);

17 esempi cn file binari (1) /*Gestine file Persne (1)*/ typedef struct { char nme[20]; char cgnme[20]; char indirizz[50]; } Persna; typedef char CdFisc[16]; typedef struct { char nme[20]; char cgnme[20]; char indirizz[50]; CdFisc CdiceFiscale; } NuvaPersna; /* I file Persne, CdiciFiscali e Nuve Persne si suppngn aperti dal main. pp, cf e np fann riferiment ai tre file in questine */ int AggirnaPersne (FILE *pp, FILE *cf, FILE *np) { Persna PersnaCrrente; CdFisc CdFiscCrrente; NuvaPersna NuvaPersnaCrrente;

18 esempi cn file binari (2) /*Gestine file Persne (2)*/ rewind(pp); /* Rende pssibile le seguenti perazini di lettura e scrittura sul file identificat da pp, iniziand dal prim byte del file.*/ rewind(cf); rewind(np); while (fread(&persnacrrente,sizef(persna),1,pp)!= 0) /* Finché nn si è raggiunta la fine del file */ { fread(&cdfisccrrente,sizef(cdfisc),1,cf); strcpy(nuvapersnacrrente.nme, PersnaCrrente.nme); strcpy(nuvapersnacrrente.cgnme,persnacrrente.cgnme); strcpy(nuvapersnacrrente.indirizz, PersnaCrrente.indirizz); strcpy(nuvapersnacrrente.cdicefiscale, CdFiscCrrente); fwrite(&nuvapersnacrrente,sizef(nuvapersna),1,np); } }

19 access dirett cnsente di accedere direttamente ai byte specificati all intern del file tramite le funzini: int fseek(file *fp, lng ffset, int refpint) refpint: SEEK_SET : scstament rispett all inizi del file, SEEK_CUR : scstament rispett alla psizine crrente, SEEK_END : scstament rispett alla fine del file. lng ftell(file *fp) rewind(f) equivale a: fseek (f, 0, SEEK_SET);

20 access dirett (2) /*Inversine del cntenut di un file numint di interi (1)*/... main () { FILE *f; lng int inizi, fine; int tempi, tempf; unsigned int dim; if ((f = fpen ("numint", "rb+")) == NULL) { puts ("Nn è stat pssibile aprire il file numint"); /* più efficiente della printf per la stampa di un messaggi dat che nn richiede la scansine e l interpretazine della stringa di cntrll */ exit(1); /* La funzine exit prvca una cnclusine nn anmala del prgramma e la restituzine del cntrll al sistema perativ */ }

21 access dirett (3) /*Inversine del cntenut di un file numint di interi (2)*/... inizi = 0; dim = sizef(int); fseek (f, dim, SEEK_END); /* SEEK_END è una cstante definita nel file stdi.h. Ha valre 2 */ fine = ftell (f); while (inizi < fine) { fseek (f, inizi, SEEK_SET); fread (&tempi, dim, 1, f); fseek (f, fine, SEEK_SET); fread (&tempf, dim, 1, f); /* È necessari ripsizinarsi */ fseek (f, fine, SEEK_SET); fwrite (&tempi, dim, 1, f); fseek (f, inizi, SEEK_SET); fwrite (&tempf, dim, 1, f); inizi = inizi + dim; fine = fine dim; } }

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

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

Gestione dei File. Indice. Il file system in C. Principali operazioni sui file (dalla Standard Library) Esempi. Corso di Informatica A. 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 Il file system in C Flusso di comunicazione: binario

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

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

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

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. Credits Prof. Campi

Gestione dei File. Credits Prof. Campi Gestione dei File Credits Prof. Campi 1 Perché i file? Sono strutture dati persistenti Sono solitamente memorizzati sui dischi Si usano dall'interno dei programmi Realizzano la persistenza dei dati cioè

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

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

I files (archivi) Il C definisce in stdio.h tre file aperti automaticamente: stdin, stdout e stderr.! Sono ad accesso sequenziale diretto

I files (archivi) Il C definisce in stdio.h tre file aperti automaticamente: stdin, stdout e stderr.! Sono ad accesso sequenziale diretto C I files di dati I files (archivi) Files di programmi sono solo gestiti dal compilatore C Files di dati Possono essere creati, aggiornati, letti, scritti da programmi C Servono per conservare dati su

Dettagli

Perchè i files? Realizzano la persistenza dei dati. Sono delle strutture di dati sequenziali. dati che sopravvivono all esecuzione del programma

Perchè i files? Realizzano la persistenza dei dati. Sono delle strutture di dati sequenziali. dati che sopravvivono all esecuzione del programma Perchè i files? Realizzano la persistenza dei dati dati che sopravvivono all esecuzione del programma Sono delle strutture di dati sequenziali Files e S.O. I files sono gestiti dal S.O. e resi visibili

Dettagli

Laboratorio di Programmazione

Laboratorio di Programmazione Laboratorio di Programmazione (Laurea triennale in matematica) Lezione 26 Sommario: Gestione dei file in C. File ad accesso sequenziale: apertura, chiusura, lettura e scrittura. File binari. Gestione files

Dettagli

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 6 Marzo 2016

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 6 Marzo 2016 File Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 6 Marzo 2016 Obiettivi Il salvataggio dei dati File File e OS File in C 2 3 I programmi che abbiamo considerato finora. Perdono

Dettagli

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 21 Maggio 2014

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 21 Maggio 2014 File Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 21 Maggio 2014 Obiettivi Il salvataggio dei dati File File e OS File in C 2 3 I programmi che abbiamo considerato finora. Perdono

Dettagli

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Ripasso Liste: typedef struct EL{TipoElemento Info; struct EL *Prox;} ElemLista; typedef ElemLista

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

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

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 15 Maggio 2015 File Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 15 Maggio 2015 2nda prova in itinere Era il 21 Maggio 2 2nda prova in itinere Era il 21 Maggio Spostata (da 3 settimane) al 22

Dettagli

Input/output console file caratteri stringhe formattato ascii binari

Input/output console file caratteri stringhe formattato ascii binari Input/output Input/Output Input/output console file caratteri stringhe formattato ascii binari La libreria standard del C La libreria standard del C è in realtà un insieme di librerie Per usare una libreria,

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

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

Streams e disk files

Streams e disk files Streams e disk files Streams 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: Testo: sequenza

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

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

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

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

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

Corso di Fondamenti di Programmazione canale E-O. Introduzione. Elaborazione dei files (2)

Corso di Fondamenti di Programmazione canale E-O. Introduzione. Elaborazione dei files (2) Corso di Fondamenti di Programmazione canale E-O Tiziana Calamoneri L elaborazione dei files in C DD, Cap. 11 + pp. 569-572 KP, pp. 581-583 Introduzione La memorizzazione dei dati nelle variabili e nei

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

FONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI. Facoltà di Ingegneria Università degli Studi di Udine

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

Dettagli

Esercitazioni di Fondamenti di Informatica - Lez. 9 4/12/2018

Esercitazioni di Fondamenti di Informatica - Lez. 9 4/12/2018 Esercitazioni di Fondamenti di Informatica - Lez. 9 /1/018 Esercizi sulla gestione dei file in C Il codice degli esercizi e contenuto nella cartella parte1 1. Creare una funzione C che legga tutto cio

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

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 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

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

Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Unità 9 File

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

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

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

Lezione 15. Introduzione

Lezione 15. Introduzione Lezione 15 L elaborazione dei file Introduzione La memorizzazione dei dati nelle variabili e nei vettori è temporanea. I file sono usati per la memorizzazione permanente di grandi quantità di dati. I calcolatori

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

Files in C endofile

Files in C endofile Files in C Il C vede i file semplicemente come un flusso (stream) sequenziale di bytes terminati da un marcatore speciale che determina la fine del file (end-of-file). 0 1 2 3 4... endofile A differenza

Dettagli

Solo due operatori aritmetici possono essere applicati alle variabili di tipo puntatore: somma e sottrazione.

Solo due operatori aritmetici possono essere applicati alle variabili di tipo puntatore: somma e sottrazione. L aritmetica dei puntatri Sl due peratri aritmetici pssn essere applicati alle variabili di tip puntatre: smma e sttrazine. int *p1,*p2; int vect[10]; p1 = & vect[0]; // p1 fa riferiment al prim element

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

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

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

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

Settimana n.12. Obiettivi File!di!testo. Contenuti Concetto!di!file!e!funzioni! fopen/fclose Funzioni!fgets+sscanf Approfondimenti!su!printf! e!

Settimana n.12. Obiettivi File!di!testo. Contenuti Concetto!di!file!e!funzioni! fopen/fclose Funzioni!fgets+sscanf Approfondimenti!su!printf! e! Settimana n.12 Obiettivi File!di!testo Contenuti Concetto!di!file!e!funzioni! fopen/fclose Funzioni!fgets+sscanf Approfondimenti!su!printf! e!scanf 437 Files Vista d insieme dei formati di file File File

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 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

Esercitazione n. 7. Gestione dei file (seconda parte)

Esercitazione n. 7. Gestione dei file (seconda parte) Esercitazione n. 7 Gestione dei file (seconda parte) 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

Prof. G. Ascia. Gestione dei File C

Prof. G. Ascia. Gestione dei File C 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

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

Corso di Informatica A.A

Corso di Informatica A.A Corso di Informatica A.A. 2009-2010 Lezione 13 Corso di Informatica 2009-2010 Lezione 13 1 Input/output da file Stream Si definisce stream una sequenza di bytes di dati che può essere in ingresso (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

ELEMENTI DI INFORMATICA. Linguaggio C

ELEMENTI DI INFORMATICA. Linguaggio C Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica ELEMENTI DI INFORMATICA http://agile.diee.unica.it A.A. 2015/2016 Ing. Marco Ortu Diee, secondo piano Tel. 070-6755774 mail:

Dettagli

File. Molto astratta: file ha un nome (ex. Pippo.c), ed altre caratteristiche (dimensione, tipo, etc). Operazioni: copiare, cancellare, eseguire..

File. Molto astratta: file ha un nome (ex. Pippo.c), ed altre caratteristiche (dimensione, tipo, etc). Operazioni: copiare, cancellare, eseguire.. File I file sono una illusione creata dal Sistema Operativo(SO) Il SO usa opportune strutture dati per implementare tale astrazione (ad esempio: File Control Block, FCB) Sono usati per memorizzare in modo

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

D Alcune funzioni della libreria standard del C

D Alcune funzioni della libreria standard del C D Alcune funzioni della libreria standard del C In questa appendice forniamo una descrizione dettagliata dei principali sottoprogrammi della libreria standard del C. In particolare, il Paragrafo D.1 tratta

Dettagli

Laboratorio di Sistemi Operativi Marzo-Giugno 2008 Matricole congrue 0 mod 3

Laboratorio di Sistemi Operativi Marzo-Giugno 2008 Matricole congrue 0 mod 3 Marzo-Giugno 2008 Matricole congrue 0 mod 3 Libreria standard di I/O Libreria standard di I/O Permette di fare I/O senza doversi preoccupare di problematiche di bufferizzazione Definizione del buffer Taglia

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

Lezione 22: Input/Output e Files

Lezione 22: Input/Output e Files Lezione 22: Input/Output e Files Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università di Salerno Struttura della lezione Esami: date e modalità Funzioni di libreria standard

Dettagli

Informatica (A-K) 23. Linguaggio C -8

Informatica (A-K) 23. Linguaggio C -8 Modalità di accesso ai file Informatica (A-K) 23. Linguaggio C -8 Accesso sequenziale: in fase di lettura i dati possono essere ritrovati (sequenzialmente) scorrendo tutti i record del file a partire dal

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

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

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

GESTIONE DEI FILE. File come tipo di dati

GESTIONE DEI FILE. File come tipo di dati GESTIONE DEI FILE File come tipo di dati Nel linguaggio C, i file vengono trattati come un tipo di dati derivato, cioè ottenuto dai tipi elementari esistenti. In pratica, quando si apre e si gestisce un

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

Laboratorio di Informatica

Laboratorio di Informatica Corso di Laurea in Informatica e Tecnologie per la Produzione del Sofware (Track B) - A.A. 2016/2017 Laboratorio di Informatica Elaborazione di File docente: Cataldo Musto cataldo.musto@uniba.it Slides

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

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

Laboratorio di Informatica

Laboratorio di Informatica Corso di Laurea in Informatica e Tecnologie per la Produzione del Software (Track B) - A.A. 2017/2018 Laboratorio di Informatica Elaborazione di File docente: Cataldo Musto cataldo.musto@uniba.it Slides

Dettagli

Dispensa 25 CORSO DI PROGRAMMAZIONE A.A CORSO DI LAUREA IN SCIENZE E TECNOLOGIE INFORMATICHE CESENA. Laboratorio

Dispensa 25 CORSO DI PROGRAMMAZIONE A.A CORSO DI LAUREA IN SCIENZE E TECNOLOGIE INFORMATICHE CESENA. Laboratorio CORSO DI LAUREA IN SCIENZE E TECNOLOGIE INFORMATICHE CESENA CORSO DI PROGRAMMAZIONE A.A. 2016-17 Dispensa 25 Laboratorio Dott. Mirko Ravaioli e-mail: mirko.ravaioli@unibo.it http://www.programmazione.info

Dettagli

Il linguaggio C I file

Il linguaggio C I file 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

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 La gestione del buffer Gestione dei file in C In C all interno

Dettagli

Lezione XII.III Gestione dei file Un progetto completo

Lezione XII.III Gestione dei file Un progetto completo Programmazione e Laboratorio di Programmazione Lezione XII.III Gestione dei file Un progetto completo 1 mycp Sviluppare in linguaggio C : un programma che copi un file in un altro Cosa farà il nostro programma

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

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

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

I/O da file. Matrici. Stringhe. Memory leakage. Matrici, stringhe e I/O da file

I/O da file. Matrici. Stringhe. Memory leakage. Matrici, stringhe e I/O da file Matrici, stringhe e I/O da file Memory leakage Matrici Stringhe 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

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

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

Input/Output su disco

Input/Output su disco Input/Output su disco In C, la gestione dei dispositivi di lettura (tastiera, file su disco,...) e scrittura (monitor, file su disco, stampante,...) viene effettuata mediante canali di comunicazione. Tali

Dettagli

Fondamenti di Informatica L-A

Fondamenti di Informatica L-A Fondamenti di Informatica L-A Esercitazione del 23/11/07 Ing. Giorgio Villani Ripasso Teoria Funzioni ricorsive 2 fatt(2) 1 2*fatt(1) fatt(1) 1 2*1 1*fatt(0) fatt(0) 1*1 caso base fatt(0)=1 Esercizio 1

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

Gestione dei files in linguaggio C. Un progetto completo

Gestione dei files in linguaggio C. Un progetto completo Programmazione e Laboratorio di Programmazione Gestione dei files in linguaggio C Un progetto completo 1 Attività: Sviluppare in linguaggio C : un programma che copi un file in un altro un programma che

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

INFORMATICA. I file. File. File. File

INFORMATICA. I file. File. File. File INFORMATICA File Per rendere più uniforme possibile il comportamento dei programmi in relazione alla grande varietà dei dispositivi periferici, i linguaggi moderni fanno riferimento ad un modello : i periferici

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

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

Input/Output su File

Input/Output su File Input/Output su File Premessa importante Queste dispense si intendono unicamente come riferimento rapido per consultare il significato e I prototipi delle funzioni per l'accesso ai file. Per avere esempi

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

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

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

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

FILE SEQUENZIALI E AD ACCESSO DIRETTO

FILE SEQUENZIALI E AD ACCESSO DIRETTO FILE SEQUENZIALI E AD ACCESSO DIRETTO L input-output astratto (stream) Le periferiche disponibili in un sistema di elaborazione sono, dal punto di vista hardware, anche molto diverse fra di loro anche

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