ARCHIVI E FILE. Prof. Ciaschetti

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "ARCHIVI E FILE. Prof. Ciaschetti"

Transcript

1 ISTITUTO DI ISTRUZIONE SUPERIORE ANGIOJ ARCHIVI E FILE Prof. Ciaschetti Un archivio è un insieme di registrazioni (record) memorizzate in modo persistente, cioè resta memorizzato permanentemente, anche in assenza di energia. Sono archivi, ad esempio: - una rubrica telefonica: ogni nominativo corrisponde a una registrazione, e per ogni registrazione possiamo avere il nome, il numero di telefono di casa, il numero di cellulare, ecc. - il registro di classe: ogni registrazione è un giorno che riposta le materie, le firme dei docenti, gli assenti, le giustificazioni, le note - l archivio dei clienti di un azienda: per ogni cliente, si possono avere il nominativo, la partita iva, l indirizzo, ecc. - l archivio degli utenti registrati a un sito web: ogni registrazione in questo caso memorizza il nome utente e la password. La caratteristica principale di un archivio è che le diverse registrazioni hanno tutte la stessa struttura. Ogni archivio è memorizzato su di un supporto che ne garantisce la persistenza. Il supporto su cui è memorizzato un archivio può essere di diverso tipo: nel caso del registro di classe, è di tipo cartaceo; la rubrica telefonica può essere memorizzata in forma cartacea, oppure in forma elettronica (come sul cellulare), ecc. Un archivio memorizzato in modo elettronico è realizzato tramite file. Un file è una sequenza di bit memorizzata in modo persistente su memoria di massa (Es. hard disk, floppy disk, pen drive, cd, dvd, microsd, ecc.). Un file non è sempre un archivio. Ad esempio, un file.cpp è un file in cui è scritto un programma in C/C++, un file.exe è un file eseguibile, un file.doc è un documento word, ecc, e nessuno di questi è un archivio. In generale, ogni archivio elettronico è anche un file, ma non è vero il viceversa, ci sono file che non sono archivi. Ci sono due tipi di file: file di testo e file binari. I file di testo sono leggibili dall uomo, mentre i file binari non lo sono. Il motivo di questa differenza sta nel fatto che i file di testo vengono scritti e letti utilizzando la codifica ASCII (un byte per ogni carattere, ricordate?), mentre nei file binari i dati vengono scritti così come sono all interno della RAM. Facciamo un esempio: Supponiamo di avere una variabile intera su 2 byte alla quale diamo il valore 125: short int N; N = 125;

2 In RAM, nei due byte riservati per la variabile N, avremo la rappresentazione binaria del numero 125, ossia Quando andiamo a memorizzare N su un file di testo, il numero sarà formattato in modo che l uomo possa leggerlo, cioè verrà trasformato nei seguenti tre byte che rappresentano il numero 125: rappresentazione ASCII del carattere rappresentazione ASCII del carattere rappresentazione ASCII del carattere 5 Se invece andiamo a memorizzare N su un file binario, il numero sarà scritto sul file così com è nella RAM, occupando solo 2 byte. Supponiamo ora di avere un altra variabile dello stesso tipo, a cui diamo il valore 8: short int M; M = 8; In RAM, nei due byte riservati per la variabile M, avremo la rappresentazione binaria del numero 8, ossia Se memorizziamo N su un file di testo, il numero sarà formattato in modo che l uomo possa leggerlo, cioè verrà trasformato in un solo byte: rappresentazione ASCII del carattere 8 Se invece memorizziamo M su un file binario, il numero sarà scritto sul file così com è nella RAM, occupando 2 byte. Dall esempio precedente notiamo che nei file binari, dati di uno stesso tipo occupano sempre la stessa dimensione (2 byte, nel caso del tipo short int dell esempio), mentre nei file di testo la loro dimensione dipende da quanti caratteri servono nella loro rappresentazione leggibile per l uomo (3 byte nel caso di 125, 1 byte nel caso di 8). Lo stesso vale per i record: nei file binari un record occupa sempre la stessa dimensione, che è lo spazio che serve in RAM per memorizzare il record, mentre nei file di testo la dimensione del record non è sempre la stessa, ma dipende dai dati che esso contiene. Come è possibile riconoscere un file binario da un file di testo? In generale, non esiste un modo, dipende da come il file è stato scritto. Tuttavia, se proviamo ad aprire il file con un qualsiasi editor di testo (ad esempio il blocco note), notiamo che il file di testo possiamo leggerlo, perché è stato formattato per l uomo al momento della sua scrittura, mentre nel file binario leggiamo solo tanti caratteri strani, perché l editor di testo proverà comunque a interpretare la sequenza di bit come una sequenza di caratteri in codifica ASCII, ma non è detto che significhino qualcosa. In generale, i file di testo hanno estensione.txt, ma possono anche avere diverse estensioni, come ad esempio.cpp (file di testo per programmi in linguaggio C),.pas (file di testo per programmi in linguaggio Pascal),.htm (file di testo per pagine web),.ini (file di testo con le impostazioni iniziali di un programma), tranne quelle riservate a particolari file binari, come ad esempio.exe (programma eseguibile),.com o.bat (file di comandi per il sistema operativo),.lib o.dll (file di librerie di programmi). Anche i file binari possono avere qualunque estensione, tranne.txt che è riservata ai file di testo. 2

3 Tornando a parlare di archivi, una caratteristica importante che distingue gli archivi è la modalità di accesso, che può essere: - accesso sequenziale - accesso casuale o diretto Per accesso sequenziale si intende che si accede all inizio dell archivio, e poi bisogna scorrerlo in avanti per arrivare all informazione desiderata, un po come il nastro di una videocassetta. Per accesso casuale, invece, si intende la possibilità di accedere direttamente all informazione desiderata, come succede ad esempio nei lettori cd, dove possiamo scegliere il numero della traccia e sentire direttamente quella, senza dover scorrere prima tutte le tracce precedenti. I file di testo sono sempre ad accesso sequenziale, mentre i file binari permettono l accesso casuale. La motivazione sta nel fatto che mentre nei file binari sappiamo che il numero di byte di una registrazione è sempre lo stesso, nei file di testo questo non è possibile. Facciamo un esempio: Supponiamo che ogni registrazione rappresenti un punto del piano cartesiano, con due campi che indicano la coordinata x e la coordinata y del punto. La struttura che definisce il record potrebbe essere la seguente: struct punto { float x; float y; }; typedef struct punto point; Supponiamo ora di voler creare un archivio con i seguenti punti: point punto1, punto2, punto3; punto1.x = 3.534; punto1.y = 2.34; punto2.x = 7.235; punto2.y = 4.1; punto3.x = ; punto3.y = 3.877; utilizzando un file binario, andremo a rappresentare i dati esattamente nella loro forma binaria, e cioè, essendo il tipo di dato float su 4 byte, avremo 8 byte per il primo punto (4 per la coordinata x, 4 per la coordinata y), 8 byte per il secondo punto e 8 byte per il terzo punto. Complessivamente, il nostro file avrà una dimensione pari a 24 byte. Potremmo, ad esempio, effettuare un accesso diretto al terzo record dicendo semplicemente salta in avanti di 2 volte la dimensione di un record. Se invece utilizziamo un file di testo per memorizzare il nostro archivio, il primo punto richiederà complessivamente 9 byte, 5 byte per la coordinata x (i caratteri 3,., 5, 3 e 4 ) e 4 byte per la coordinata y (i caratteri 2,., 3, 4 ). Analogamente, il secondo record richiederà 8 byte e il terzo record 12 byte. Non conoscendo a priori la dimensione di ogni record, non sappiamo dire di quanto occorre saltare in avanti per posizionarsi sul terzo record. 3

4 E meglio usare archivi ad accesso sequenziale o archivi ad accesso diretto? La risposta dipende dal tipo di operazioni che devono essere eseguite sull archivio. Se l archivio ci serve solo per fare un backup dei dati, che poi difficilmente andremo a rileggere, può andare benissimo un archivio ad accesso sequenziale (ed infatti, per questo tipo di archivi sono spesso usati file di testo). Se invece occorre effettuare spesso operazioni di lettura di dati dall archivio, e in modo disordinato (cioè non sequenziale), conviene utilizzare un archivio ad accesso diretto per evitare di aspettare ogni volta che vengano letti tutti i record che precedono quello che ci interessa. Per evitare accessi multipli in scrittura su un file, che potrebbero causare effetti indesiderati (si pensi a due programmi che cerchino di scrivere contemporaneamente la stringa ciao e la stringa pippo su uno stesso file: si potrebbe avere come effetto, ad esempio, la scrittura della stringa cpipiaopo completamente priva di significato), si ricorre a un meccanismo semaforico di apertura e chiusura del file. Questo meccanismo prevede di aprire il file prima di compiere su di esso le operazioni di lettura/scrittura, e poi chiuderlo alla fine. Quando un file è aperto in scrittura da un processo, nessun altro processo può accedere al file per scriverci sopra, fino a quando esso non sarà stato chiuso. In lettura, invece, non ci sono problemi. Istruzioni del linguaggio C per lavorare con i file Per lavorare con un file in C occorre innanzitutto dichiarare una variabile di tipo puntatore a file, come ad esempio FILE *fp; Nella variabile fp verrà memorizzato l indirizzo del file (in questo caso non si tratta di un indirizzo nella memoria RAM, ma su memoria di massa, quindi costituito da numero di cilindro, traccia e settore del dispositivo magnetico o ottico di memorizzazione) al momento della sua apertura. APERTURA E CHIUSURA DEL FILE Per aprire un file, si utilizza l istruzione fopen: fopen("nomefile.estensione","modalita"); Apre un file. Restituisce l indirizzo del file, oppure NULL se il file non è stato trovato. Modalità: r = lettura, w = scrittura, a = append, r+ = lettura/scrittura. La modalità w riscrive il file da capo, e ne crea uno nuovo nel caso in cui non esiste. La modalità a continua a scrivere un file mantenendo il suo contenuto precedente, e crea un nuovo file nel caso in cui non esiste. La modalità r+ riscrive il file da capo, e ne crea uno nuovo nel caso in cui non esiste. FILE *fp; /* dichiarazione della variabile puntatore a file fp */ fp = fopen("pippo.txt","r"); /* apre il file in modalità lettura e salva in fp l indirizzo del file */ 4

5 fp = fopen("videoteca.dat","w"); /* apre il file in modalità scrittura e salva in fp l indirizzo del file */ Al momento dell apertura di un file la testina di lettura/scrittura si posiziona all inizio del file, e scorre in avanti, ad ogni operazione di lettura/scrittura, di tanti byte quanti sono quelli letti o scritti. Per chiudere un file, dopo che ci si è lavorato, si usa l istruzione fclose: fclose(indirizzo del file); Chiude un file precedentemente aperto. Se il file non era stato aperto, dà errore. fclose(fp); /* fp puntatore a file già aperto in precedenza */ LETTURA E SCRITTURA SU FILE DI TESTO Ci sono due istruzioni per leggere e due istruzioni per scrivere su file di testo. Due di queste si riferiscono alla lettura e scrittura di un carattere per volta (getc e putc), mentre le altre due si riferiscono alla lettura e scrittura formattata di un qualsiasi dato (fscanf e fprintf). Tutte e quattro queste istruzioni non si riferiscono direttamente al nome del file, ma al suo indirizzo, che è stato salvato al momento dell apertura nella variabile di tipo puntatore a file (che supponiamo si chiami fp in quanto segue). ISTRUZIONI PER LEGGERE E SCRIVERE UN SINGOLO CARATTERE Per leggere un carattere da file di testo si usa l istruzione getc: getc(indirizzo del file) Legge i prossimi 8 bit da file di testo. Restituisce il carattere letto, oppure EOF se alla fine del file. char ch; /* variabile di tipo carattere */ ch = getc(fp); /* assegna a ch il carattere letto da file */ printf( %c, getc(fp)) /* visualizza il carattere letto dal file */ 5

6 Per scrivere un carattere su file di testo si usa l istruzione putc: putc(carattere, indirizzo del file) Scrive il carattere su file di testo. E di tipo void. putc( W, fp); /* scrive il carattere W sul file */ char ch = A ; /* variabile di tipo carattere */ putc(ch, fp); /* scrive il carattere ch su file */ ISTRUZIONI PER LEGGERE E SCRIVERE UN QUALSIASI DATO Per leggere un qualsiasi dato da file di testo si usa l istruzione fscanf: fscanf(indirizzo del file, specificatore di formato, indirizzo RAM) Legge da file un dato formattato secondo lo specificatore di formato, e lo memorizza in RAM all indirizzo specificato. Restituisce il numero di byte letti, oppure EOF se alla fine del file. Può essere usata come void. int N; fscanf(fp,"%d",&n); /* legge un intero da file e lo memorizza nella variabile N*/ if(fscanf(fp,"%d",&n) == EOF) printf("errore"); /* prova a leggere un intero da file, ma raggiunge la fine del file prima di riuscirci */ 6

7 Per scrivere un qualsiasi dato su file di testo si usa l istruzione fprintf: fprintf(indirizzo del file, stringa di output, espressioni) float t = 1.5; fprintf(fp,"%f",t); /* scrive su file il valore 1.5 */ Scrive la stringa di output formattata su file di testo. Restituisce il numero di byte scritti. Può essere usata come void. fprintf(fp,"ciao mondo"); /* scrive ciao mondo su file */ fprintf(fp,"\n ); /* va a capo nel file */ fprintf(fp,"%d %d", 3, 8); /* scrive su file 3 e 8 */ fprintf(fp,"%c, A ); /* scrive su file il carattere A */ 7

8 LETTURA E SCRITTURA SU FILE BINARIO Per la lettura e scrittura su file binario si usano due istruzioni: fread e fwrite. Entrambe trasferiscono un insieme di bit da file a RAM (fread) o da RAM a file (fwrite) così come sono memorizzati, senza formattazione. Per leggere un qualsiasi dato da file binario si usa l istruzione fread: fread(indirizzo RAM, numero byte, numero blocchi, indirizzo del file) Legge da file uno o più blocchi di bit non formattati, e li memorizza in RAM a partire dall indirizzo specificato. Parametri: numero byte: numero di byte del blocco numero blocchi: numero di blocchi da leggere. Restituisce il numero di blocchi letti. int N; fread(&n, sizeof(int), 1, fp); /* legge un intero da file e lo memorizza nella variabile N*/ struct libro { /* definizione del record */ char titolo[20]; char autore[20]; int anno; char editore[20]; }; typedef struct libro book; /* definizione esplicita */ book b; /* dichiarazione variabile */ fread(&b, sizeof(book), 1, fp); /* legge un record da file e lo memorizza nella variabile b */ Esempio (con la stessa definizione di record di sopra): book biblioteca[100]; /* dichiarazione array di record */ fread(&biblioteca[20], sizeof(book), 5, fp); /* legge cinque record da file e li memorizza nel vettore biblioteca a partire dalla posizione 20 */ 8

9 Per scrivere un qualsiasi dato su file binario si usa l istruzione fwrite: fwrite(indirizzo RAM, numero byte, numero blocchi, indirizzo del file) Scrive su file uno o più blocchi di bit non formattati, prelevandoli dalla RAM a partire dall indirizzo specificato. Parametri: numero byte: numero di byte del blocco numero blocchi: numero di blocchi da scrivere. Restituisce il numero di blocchi scritti. int N; fwrite(&n,sizeof(int),1,fp); /* scrive su file l intero memorizzato nella variabile N*/ struct libro { /* definizione del record */ char titolo[20]; char autore[20]; int anno; char editore[20]; }; typedef struct libro book; /* definizione esplicita */ book b; /* dichiarazione variabile */ fwrite(&b, sizeof(book), 1, fp); /* scrive il record b su file */ Esempio (con la stessa definizione di record di sopra): book biblioteca[100]; /* dichiarazione array di record */ fwrite(&biblioteca[0], sizeof(book), 5, fp); /* scrive su file i primi cinque record dell array biblioteca */ 9

10 ACCESSO DIRETTO Per realizzare un archivio con accesso diretto dobbiamo usare i file binari. Il motivo, come già spiegato, sta nel fatto che la dimensione dei diversi record dell archivio è sempre la stessa nei file binari, mentre può variare nei file di testo. L accesso diretto si realizza utilizzando l istruzione fseek, che serve a spostare la testina di lettura/scrittura all interno del file. Basta spostare la testina all inizio del record al quale si vuole accedere (ad esempio, se si vuole leggere il 5 record, si salta in avanti di 4 record), e leggere il record con una fread. Per spostare la testina sul record al quale si vuole accedere si usa l istruzione fseek: fseek(indirizzo del file, num_byte, start); Sposta la testina di lettura/scrittura, sul file specificato, di num_byte a partire da start. Il terzo parametro, start, può valere: - SEEK_SET inizio del file - SEEK_CUR posizione corrente - SEEK_END fine del file Restituisce 1 in caso d errore, 0 se tutto OK, ma è solitamente usata come void. fseek(fp,10,seek_set); /* sposta la testina in avanti di 10 byte dall inizio del file */ Esempio (con la definizione del record book degli esempi precedenti): fseek(fp, 3*sizeof(book), SEEK_SET); /* sposta la testina all inizio del quarto record */ fseek(fp, -sizeof(book), SEEK_CUR); /* sposta la testina indietro di un record */ fseek(fp, -2*sizeof(book), SEEK_END); /* sposta la testina sul penultimo record dell archivio */ RICERCA DI UN RECORD IN UN ARCHIVIO Se si vuole cercare un particolare record in un archivio, occorre scorrere uno per uno tutti i record dell archivio. Per ognuno di questi, bisogna ripetere le seguenti operazioni: - leggere il record (portarlo in RAM) - controllare se è il record cercato. C è bisogno allora di un ciclo! In generale, non si può utilizzare il ciclo for perché non si conosce a priori il numero di record dell archivio. Ci viene però in aiuto l istruzione feof, che possiamo utilizzare per determinare il raggiungimento della fine del file. Per determinare se si è raggiunto la fine del file, si usa l istruzione feof: feof(indirizzo del file); Determina il raggiungimento della fine del file. Restituisce 1 se il file è terminato, 0 altrimenti. while (!feof(fp)) /* fino a che non è finito il file fp */ { fread( ) /* leggi un record dal file */ if ( ) /* controlla se è il record cercato */ } 10

ARCHIVI E FILE ARCHIVI FILE. Istituto Angioy Informatica. Prof. Ciaschetti

ARCHIVI E FILE ARCHIVI FILE. Istituto Angioy Informatica. Prof. Ciaschetti Istituto Angioy Informatica ARCHIVI E FILE Prof. Ciaschetti ARCHIVI Un archivio è un insieme di registrazioni (record) memorizzate in modo persistente, su un qualunque tipo di supporto. La caratteristica

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

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

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

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

DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA. INFORMATICA B Ingegneria Elettrica. I file in Matlab

DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA. INFORMATICA B Ingegneria Elettrica. I file in Matlab INFORMATICA B Ingegneria Elettrica I file in Matlab I file I file sono contenitori di informazione: sequenze di byte associate ad un nome Sono memorizzati su memoria di massa (non- volatile) Possono continuare

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

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

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

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

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

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

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

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

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

LE STRUTTURE DATI PARTE 2: RECORD. Prof. G. Ciaschetti

LE STRUTTURE DATI PARTE 2: RECORD. Prof. G. Ciaschetti 1 ISTITUTO DI ISTRUZIONE SUPERIORE ANGIOJ LE STRUTTURE DATI PARTE 2: RECORD Prof. G. Ciaschetti Abbiamo visto nella prima dispensa sulle strutture dati che una struttura dati è una collezione di dati in

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

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

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

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

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

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

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

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

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

MATLAB: FILES. Informatica B/C - A.A. 2013/2014

MATLAB: FILES. Informatica B/C - A.A. 2013/2014 MATLAB: FILES Informatica B/C - A.A. 2013/2014 I FILE Contenitori di informazione: sequenze di byte associate ad un nome Sono memorizzati su memoria di massa (non-volatile) Possono continuare ad esistere

Dettagli

FILE BINARI FILE BINARI FILE BINARI. OUTPUT BINARIO: fwrite()

FILE BINARI FILE BINARI FILE BINARI. OUTPUT BINARIO: fwrite() 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

! I file di testo non sono indispensabili: sono semplicemente comodi 1. Sintassi:

! I file di testo non sono indispensabili: sono semplicemente comodi 1. Sintassi: Un file binario è una pura sequenza di byte, senza alcuna strutturazione particolare! È un'astrazione di memorizzazione assolu -tamente generale, usabile per memorizza -re su file informazioni di qualsiasi

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

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

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

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

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

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

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

Il linguaggio C. Puntatori e dintorni

Il linguaggio C. Puntatori e dintorni Il linguaggio C Puntatori e dintorni 1 Puntatori : idea di base In C è possibile conoscere e denotare l indirizzo della cella di memoria in cui è memorizzata una variabile (il puntatore) es : int a = 50;

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

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

Linguaggio C: PUNTATORI

Linguaggio C: PUNTATORI Linguaggio C: PUNTATORI I puntatori sono una delle più importanti caratteristiche del linguaggio C. Permettono di lavorare a basso livello, mantenendo flessibilità e praticità. Il C utilizza molto i puntatori

Dettagli

Ogni variabile in C è una astrazione di una cella di memoria a cui corrisponde un nome, un contenuto e un indirizzo.

Ogni variabile in C è una astrazione di una cella di memoria a cui corrisponde un nome, un contenuto e un indirizzo. Ogni variabile in C è una astrazione di una cella di memoria a cui corrisponde un nome, un contenuto e un indirizzo. int a = 5; a 5 α=&a Esistono in C particolari variabili dette puntatori che possono

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Gestione dei File in MATLAB Prof. Christian Esposito Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) A.A. 2016/17 Gestione dei file in MATLAB OUTLINE Caratteristiche

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

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

Le Memorie. Si distinguono per: Supporti sui quali le informazioni vengono fisicamente memorizzate.

Le Memorie. Si distinguono per: Supporti sui quali le informazioni vengono fisicamente memorizzate. Le Memorie Supporti sui quali le informazioni vengono fisicamente memorizzate. Si distinguono per: Velocità Costo per bit Tipo di accesso Accesso a byte o blocchi di byte Volatilità Parte I 15 Due Tipi

Dettagli

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

FILE BINARI. I file di testo non sono indispensabili: sono semplicemente comodi 1 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

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

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

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

I CARATTERI E LE STRINGHE

I CARATTERI E LE STRINGHE I CARATTERI E LE STRINGHE IL CODICE ASCII Per memorizzare i simboli grafici corrispondenti ai caratteri bisogna associare un numero intero a ciascuno di essi Il codice ASCII / æski/ (American Standard

Dettagli

Strutture Dati. Elisa Marengo. Università degli Studi di Torino Dipartimento di Informatica. Elisa Marengo (UNITO) Strutture Dati 1 / 16

Strutture Dati. Elisa Marengo. Università degli Studi di Torino Dipartimento di Informatica. Elisa Marengo (UNITO) Strutture Dati 1 / 16 Strutture Dati Elisa Marengo Università degli Studi di Torino Dipartimento di Informatica Elisa Marengo (UNITO) Strutture Dati 1 / 16 Introduzione Fino ad ora nei nostri programmi abbiamo usato Variabili;

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

LA MEMORIA NEL CALCOLATORE

LA MEMORIA NEL CALCOLATORE Tipi di memorie (1) Rappresenta il supporto fisico, il dispositivo su cui sono immagazzinate le informazioni (dati e programmi) ROM (Read Only Memory) 1-2 MByte Cache 1 MByte di sola lettura contiene programmi

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

Gestione di files Motivazioni

Gestione di files Motivazioni Gestione di files Motivazioni Un programma in esecuzione legge (sequenzialmente) una sequenza di caratteri prodotti "al volo" dall'utente (tramite tastiera) il programma in esecuzione scrive (sequenzialmente)

Dettagli

Input/output in C e in C++

Input/output in C e in C++ FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Input/output in C e in C++ 2001 Pier Luca Montessoro - Davide Pierattoni

Dettagli

Tipi di dati strutturati e Linguaggio C. Record o strutture Il costruttore struct in C

Tipi di dati strutturati e Linguaggio C. Record o strutture Il costruttore struct in C Tipi di dati strutturati e Linguaggio C Record o strutture Il costruttore struct in C Dati strutturati Record Un record o struttura è una struttura dati ottenuta aggregando elementi di tipo diverso che

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Strutture di dati Fondamenti di Informatica 11. Linguaggio C - Strutture / Tabelle / Puntatori Strutture /Tabelle Corso di Laurea in Ingegneria Informatica e dell Automazione A.A. 2012-2013 2 Semestre

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 5 Rappresentazione delle informazioni

Appunti del corso di Informatica 1 (IN110 Fondamenti) 5 Rappresentazione delle informazioni Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 5 Rappresentazione delle informazioni Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Introduzione ai puntatori in C Definizione

Introduzione ai puntatori in C Definizione Introduzione ai puntatori in C Definizione Un puntatore è una variabile che contiene l indirizzo di un altra variabile Tramite i puntatori si può quindi accedere a un oggetto indirettamente (si usa il

Dettagli

Puntatori in C. Puntatori. Variabili tradizionali Esempio: int a = 5; Proprietà della variabile a: nome: a

Puntatori in C. Puntatori. Variabili tradizionali Esempio: int a = 5; Proprietà della variabile a: nome: a Puntatori in C Puntatori Variabili tradizionali indirizzo int a = 5; A00E... Proprietà della variabile a: nome: a A010 A012 5 tipo: int A014 valore: 5 indirizzo: A010 Finora abbiamo usato solo le prime

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

Primi passi col linguaggio C

Primi passi col linguaggio C Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Come introdurre un linguaggio di programmazione? Obiettivi: Introduciamo una macchina astratta

Dettagli

RIASSUNTO La codifica delle informazioni

RIASSUNTO La codifica delle informazioni RIASSUNTO La codifica delle informazioni u Rappresentazione dell informazione all interno di un calcolatore codifica caratteri (codice ASCII) codifica numeri interi (rappresentazione in base 2) codifica

Dettagli

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO VI.2015

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO VI.2015 APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 15.VI.2015 VINCENZO MARRA Indice Esercizio 1 1 Definizione dei tipi P e T, e calcolo dell area.

Dettagli

PROVA SCRITTA 23 MARZO 2010

PROVA SCRITTA 23 MARZO 2010 PROVA SCRITTA 23 MARZO 2010 In un file binario, MY_FILE.DAT, si memorizzano per ciascuno studente universitario: nome e cognome (stringhe, 20 char), matricola (intero), codice del corso di laurea (stringa

Dettagli

Il linguaggio C. Notate che...

Il linguaggio C. Notate che... Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione

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

Tipi di dato semplici

Tipi di dato semplici Tipi di dato semplici Perché dichiarare una variabile? 2 Una variabile rappresenta uno spazio di memoria centrale Prima dell esecuzione del programma deve essere chiaro quanto spazio serve al programma

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

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

Linguaggio C: puntatori

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

Dettagli

Esercitazioni di Fondamenti Informatica - Modulo A

Esercitazioni di Fondamenti Informatica - Modulo A Il file binario non è altro che una collezione di byte, memorizzata sul file system (ad esempio nell hard disk), che si può leggere sequenzialmente (ma non solo sequenzialmente). Un file di testo è prima

Dettagli

Rappresentazione binaria delle variabili (int e char)

Rappresentazione binaria delle variabili (int e char) Rappresentazione binaria delle variabili (int e char) int e char son i due tipi utilizzati dal linguaggio C per la rappresentazione di valori interi; ai valori delle variabili del primo tipo sono assegnati

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

Lezione 8. Sottoprogrammi

Lezione 8. Sottoprogrammi Lezione 8 Il linguaggio C: Sottoprogrammi e Funzioni I puntatori Input/Output su file Sottoprogrammi Per risolvere un problema si può scomporlo in problemi più semplici e comporre le loro soluzioni in

Dettagli

Algoritmi, Strutture Dati e Programmi. UD 1.d: Dati e Tipi di Dato

Algoritmi, Strutture Dati e Programmi. UD 1.d: Dati e Tipi di Dato Algoritmi, Strutture Dati e Programmi : Dati e Tipi di Dato Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Dati: Variabili e Costanti Un algoritmo (e il programma che ne è rappresentazione)

Dettagli

Com è fatto un computer (terza puntata) Appunti per le classi 1 A cura del prof. Ing. Mario Catalano

Com è fatto un computer (terza puntata) Appunti per le classi 1 A cura del prof. Ing. Mario Catalano Com è fatto un computer (terza puntata) Appunti per le classi 1 A cura del prof. Ing. Mario Catalano Caratteristiche della memoria secondaria La memoria principale permette di indirizzare ogni singola

Dettagli

Il linguaggio C. Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1

Il linguaggio C. Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1 Il linguaggio C I linguaggi di programmazione ad alto livello sono linguaggi formali ( sintassi e semantica formalmente definite) però sono compatti e comprensibili. Le tipologie di linguaggi sono: procedurali

Dettagli

Verso i puntatori: Cosa è una variabile?

Verso i puntatori: Cosa è una variabile? Verso i puntatori: Cosa è una variabile? Quando si dichiara una variabile, ad es. int a; si rende noto il nome e il tipo della variabile. Il compilatore alloca l opportuno numero di byte di memoria per

Dettagli

Le librerie standard. ! La libreria standard del C è in realtà un insieme di librerie

Le librerie standard. ! La libreria standard del C è in realtà un insieme di librerie ! La libreria standard del C è in realtà un insieme di librerie! Per usare una libreria, non occorre inse -rirla esplicitamente nel progetto: ogni ambiente di sviluppo sa già dove cercarle! Ogni file sorgente

Dettagli

Lezione 8 Struct e qsort

Lezione 8 Struct e qsort Lezione 8 Struct e qsort Rossano Venturini rossano@di.unipi.it Pagina web del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start Esercizio 3 QuickSort strambo Modificare il Quicksort

Dettagli

Lettura da tastiera e scrittura su monitor

Lettura da tastiera e scrittura su monitor Lettura da tastiera e scrittura su monitor Per poter leggere UN SINGOLO CARATTERE dalla tastiera e visualizzare UN SINGOLO CARATTERE sul monitor si possono utilizzare le funzioni: int getchar (void) (per

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

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione

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

Rappresentazione di dati come testo e in forma binaria

Rappresentazione di dati come testo e in forma binaria File binari I file binari sono file in cui i dati sono memorizzati nello stesso modo in cui si trovano in memoria, per cui, per esempio, un intero occupa su un file binario sempre sizeof(int) byte, indipendentemente

Dettagli

Es. 1. interi, li stampi a video ponendo prima i numeri pari e poi i numeri dispari. Es. 1. int readlength(file *f, int *even, int *odd)

Es. 1. interi, li stampi a video ponendo prima i numeri pari e poi i numeri dispari. Es. 1. int readlength(file *f, int *even, int *odd) Es. 1 È dato un file binario, di nome valori.dat, contenente una sequenza di int; non è noto a priori quanti interi siano presenti nel file. I valori sono disposti in ordine casuale. Si realizzi un programma

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

Allocazione dinamica della memoria

Allocazione dinamica della memoria Allocazione dinamica della memoria Allocazione statica: limiti Per quanto sappiamo finora, in C le variabili sono sempre dichiarate staticamente la loro esistenza deve essere prevista e dichiarata a priori

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

Variabili e Istruzioni

Variabili e Istruzioni Exit Menù Variabili e Istruzioni 1 Le Variabili Una VARIABILE è un oggetto identificato da un NOME e da uno STATO, detto CONTENUTO o VALORE. Possiamo immaginarla come una scatola contenuto Pippo 11 nome

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

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 9 - Array Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea

Dettagli