Introduzione al C. Unità 9 File. D. Bloisi, S. Peluso, A. Pennisi, S. Salza
|
|
- Bartolommeo Caputo
- 7 anni fa
- Visualizzazioni
Transcript
1 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
2 Sommario Input/Output Stream File Pagina 2
3 I/O in C Il sistema di I/O del C è una interfaccia uniforme per il programmatore indipendentemente dal dispositivo di lettura e scrittura utilizzato. Scrivere o leggere da file o da video/tastiera non comporta differenze. Il video del nostro PC è considerato come il dispositivo standard di input, La tastiera è il dispositivo standard di output Il sistema di I/O del C crea un livello di astrazione tra il programmatore e l oggetto (sia esso un file o dispositivo). Viene creato un meccanismo di astrazione tramite un flusso di dati o stream. Pagina 3
4 Schema di un calcolatore Tastiera Mouse Stampante Modem Porte I/O CPU Controller Dischi Scheda Video Hard Disk CD-ROM DVD Monitor Memoria Scheda Audio Altoparlanti Microfono Scheda Rete Internet Bus Pagina 4
5 Stream Uno stream (flusso di dati) fornisce un canale di comunicazione tra il programma e l esterno (file o device). Uno stream è una struttura costituita da una sequenza di byte terminante con un apposito byte che ne identifica la fine (EOF). Gli stream possono essere associati a: Dispositivi fisici collegati al computer (tastiera, video, stampante, ecc.) File residenti su memoria di massa Pagina 5
6 Stream come flussi di byte Gli stream sono di fatto flussi di byte (una sequenza di byte). Ad ogni byte corrisponde un carattere, nella codifica ASCII La fine di uno stream è indicata dal valore speciale EOF (End- Of-File). EOF è una macro definita in stdio.h Pagina 6
7 Bufferizzazione in lettura L accesso ai dispositivi di I/O ha un costo significativo (in termini di tempo) Es: una lettura su disco richiede tempi di accesso e di trasferimento dell ordine di molti ms Lettura e scrittura sui dispositivi di I/O viene effettuata a livello di blocchi di molti byte In tal modo, per leggere n byte consecutivi vengono fatti in realtà solo én/bù accessi (dove B è la dimensione del blocco), invece di n accessi Pagina 7
8 Bufferizzazione in scrittura Analogo procedimento si adotta in scrittura Invece di effettuare un accesso per ogni byte scritto, conviene accumulare un intero blocco di byte, e poi effettuare la scrittura del blocco con un singolo accesso. ES Se il tempo di accesso è di 5 ms e la dimensione del blocco di 1024 Byte, per scrivere un blocco bastano 5 ms, mentre scrivendo i singoli byte individualmente si occuperebbe il disco per oltre 5 s (N.B. i tempi di trasferimento sono trascurabili rispetto ai tempi di accesso Pagina 8
9 Gestione dei buffer 1/2 La bufferizzazione di I/O viene gestita in modo trasparente per il programmatore, il quale può tuttavia intervenire L I/O transita per aree di memoria centrale dette buffer le quali contengono: Per la lettura l ultimo blocco letto dal dispositivo Per la scrittura il blocco corrente che va accumulandosi Quando il blocco corrente si esaurisce (o si completa) viene effettuata rispettivamente una lettura o scrittura sul dispositivo Gli stream di I/O sono bufferizzati: le funzioni C che vedremo leggono/scrivono i byte non direttamente dai dispositivi, ma da questi buffer Pagina 9
10 Gestione dei buffer 2/2 La bufferizzazione rende efficiente l'i/o ed è trasparente, ma proprio per questo è necessario fare attenzione, soprattutto in scrittura: Le singole scritture vengono effettuate sul buffer e non sul file (cioè sul dispositivo) Il buffer è scaricato sul file solo quando si è riempito (o viene forzato) Ad esempio quando l output è verso lo schermo, il buffer è a livello di linea e viene automaticamente scaricato quando si immette il carattere \n (a capo) Pagina 10
11 La struttura FILE 1/2 Esiste una struttura di dati FILE, interna al C, che rappresenta uno stream ed è definita nel header stdio.h Viene usato il nome FILE per motivi storici La struttura FILE può anche essere usata per rappresentare un oggetto diverso da un file in senso tecnico Nei programmi C si deve fare riferimento alla struttura FILE quando si realizza l'i/o utilizzando uno stream. Pagina 11
12 La struttura FILE 2/2 La struttura FILE rappresenta un puntatore ai byte dello stream. In stdio.h sono definiti tre puntatori a FILE particolari: stdin: rappresenta lo standard input (normalmente la tastiera) stdout: rappresenta lo standard output (normalmente il video) stderr: rappresenta lo standard error (normalmente il video sul quale vengono presentati i messaggi di errore) Per esempio le funzioni scanf e printf leggono e scrivono rispettivamente su stdin e stdout Pagina 12
13 File I file rappresentano la principale struttura per la memorizzazione permanente di dati (che cioè sopravvive allo spegnimento della macchina) su memoria di massa File di testo: sequenze di caratteri alfanumerici codificati in formato standard (es. ASCII) direttamente leggibili dall utente File binari: contenenti dati in un formato interpretabile dai programmi In questo corso tratteremo solo file di testo Solitamente i file di testo sono organizzati in linee, cioè sequenze di caratteri separate dal carattere \n. Pagina 13
14 File e directory Il C poggia sulla gestione della memoria di massa da parte del Sistema Operativo, tramite il File System Ogni file è caratterizzato da un nome e risiede in un determinato percorso (file path) che indica la posizione del file nel file system, cioè nell albero delle directory Le operazioni fondamentali sui file sono: creazione, lettura, scrittura, ridenominazione ed eliminazione Queste operazioni possono essere effettuate sia tramite il sistema operativo (o altri programmi applicativi) oppure mediante apposite istruzioni del linguaggio C Pagina 14
15 Operazioni sui file Per poter eseguire operazioni di lettura e scrittura su di un file è necessario: Aprire il file prima di eseguire le operazioni Chiudere il file dopo aver eseguito le operazioni All atto dell apertura di un file viene allocato il relativo buffer attraverso il quale transitano le letture o scritture All atto della chiusura di un file il blocco che è presente nel buffer viene scritto nel file in memoria secondaria. È tuttavia possibile per il programmatore forzare la scrittura del buffer su memoria secondare quando necessario Pagina 15
16 Aperura di un file in C In C un file deve essere sempre aperto prima che si effettui su di esso un qualsiasi accesso L apertura di un file avviene per mezzo della funzione fopen: FILE *fopen(const char *path, const char *mode); path è una stringa che indica il percorso ed il nome del file. mode è una stringa che indica la modalità di accesso. Il tipo di ritorno (FILE *) è un puntatore al file pointer associato allo stream. Pagina 16
17 Percorso di un file (file path) Il percorso del file (file path) può essere e espresso in modo: Assoluto: cioè specificato per esteso a partire dalla directory radice del file system (root), ad es. C:\ Relativo: cioè relativo alla directory di lavoro (cioè la directory in cui si lancia il programma) In particolare se si specifica solo il nome del file, il suo percorso è relativo alla directory di lavoro (quindi il file deve risiedere in tale directory) Il modo di indicare il percorso del file dipende dal sistema operativo in cui si opera, ad es.: X:\...\...\nomefile in Windows X:/ / /nomefile in Unix, Linux e Mac OsX Pagina 17
18 Modalità di accesso r: apre il file in sola lettura. Lo stream è posizionato all inizio del file. Il file deve esistere. r+: apre il file in lettura e scrittura. Lo stream è posizionato all inizio del file. w: apre il file in sola scrittura. Se il file non esiste lo crea, se esiste cancella il contenuto. Lo stream è posizionato all inizio del file. w+: come w ma apre il file sia in lettura che in scrittura. a: (append) come w ma il puntatore allo stream è posizionato alla fine del file. a+: (append) come w+ ma il puntatore in lettura è posizionato all inizio del file, mentre il puntatore in scrittura è posizionato alla fine del file. Pagina 18
19 Modalità di accesso: esempi Apertura del file C:\Programmi\dati.txt, supponendo che il file si trovi nella directory di lavoro // In lettura path espresso in modo relativo FILE *fp1 = fopen("dati.txt", "r"); // In lettura path espresso in modo assoluto FILE *fp1 = fopen("c:\programmi\dati.txt", "r"); // In lettura e scrittura FILE *fp2 = fopen("dati.txt", "w+"); Pagina 19
20 Chiusura del file La chiusura di uno stream libera le risorse ad esso associate e si effettua attraverso la funzione fclose: int fclose(file *fp); fp: file pointer associato allo stream da chiudere Restituisce 0 in caso di successo, EOF in caso di errore Nel caso di file aperti in scrittura, la chiusura provoca anche lo scarico del buffer in memoria di massa Anche se la terminazione del programma provoca automatimente la chiusura di tutti i file ancora aperti è buona norma effetuare sempre le chiusure esplicitamente Pagina 20
21 La funzione fprintf Analoga alla printf, viene usata per scrivere su uno stream generico: int fprintf(file *stream, const char *format, <argomenti>); stream: lo stream su cui scrivere format e <argomenti>: come per la printf. Restituisce il numero di caratteri scritti. Pagina 21
22 La funzione fscanf Analoga alla scanf, viene usata per leggere da uno stream generico: int fscanf(file *stream, const char *format, <argomenti>); stream: lo stream da cui leggere. format e <argomenti>: come per la scanf. Restituisce il numero di elementi correttamente letti, o EOF se la fine dello stream è stata raggiunta. Pagina 22
23 fprintf e fscanf: casi particolari Come si è detto printf e scanf sono casi particolari relayivi agli stream stdin e stdout printf(<format>, <args>) corrisponde a: fprintf(stdout,<format>,<args>) scanf(<format>, <args>) corrisponde a: fscanf(stdin,<format>,<args>) Pagina 23
24 Esempio Scrivere i primi 10 numeri interi in un file data.txt int main (void) { int i; FILE *fp = fopen("data.txt", "w"); for (i = 1; i <= 10; i++) { fprintf(fp, "%d\n", i); } fclose(fp); return 0; } Pagina 24
25 Esempio Leggere 10 numeri interi da un file data.txt e stamparli a video int main (void) { int i, x; FILE *fp = fopen("data.txt", "r"); for (i = 1; i <= 10; i++) { fscanf(fp, "%d", &x); printf("%d\n", x); } fclose(fp); return 0; } Pagina 25
26 Eccezioni Nell aprire un file può accadere che qualcosa vada storto (es.: il file non esiste, errori di I/O, ecc.) In tal caso la fopen restituisce il puntatore nullo: NULL Dopo la fopen occorre quindi eseguire sempre un controllo ESEMPIO FILE *fp = fopen("input.txt", "r"); if (fp == NULL) { // gestione dell errore printf("errore nell aprire il file\n"); exit(1); } Pagina 26
27 Modello ideale per il file Un file può essere immaginato come un nastro sul quale sono scritte delle informazioni e una testina di lettura/scrittura che è l indicatore di posizione La testina viene spostata da funzioni come fscanf e fprintf, o in modo esplicito con fseek C i a o EOF Pagina 27
28 Funzione fseek int fseek(file *stream, long offset, int whence); Imposta la nuova posizione dell indicatore di posizione puntato da stream. La nuova posizione (in bytes) è ottenuta sommando offset alla posizione specificata da whence. Se whence è SEEK_SET, SEEK_CUR, o SEEK_END l offset è relativo rispettivamente all inizio del file, alla posizione corrente dell indicatore di posizione oppure alla fine del file. Ritorna 0 in caso di successo, -1 altrimenti. Pagina 28
29 Leggere e scrivere caratteri int fgetc(file *stream); Analoga a getchar(), ma legge su uno stream qualsiasi. int fputc(int c, FILE *stream); Analoga a putchar(c), ma scrive su uno stream qualsiasi. Pagina 29
30 End-Of-File La fine del file EOF viene codificata con un valore speciale dipendente dalla macchina: Tipicamente: Ctrl-z su Windows Ctrl-d su Unix/Linux/MacOs Pagina 30
31 Riassumendo 1. Dichiarazione del file pointer: FILE *fp; 2. Apertura del file: fp = fopen(<path>, <mode>); 3. Lettura/scrittura su file (es.: fprintf, fscanf,fgetc,fputc) 4. Chiusura del file: fclose(fp); Pagina 31
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
DettagliGestione 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
DettagliFile 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
DettagliIndice. 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
DettagliOperazioni 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
DettagliLinguaggio 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
DettagliInput/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
DettagliIntroduzione. 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
DettagliGestione 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
DettagliI 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
DettagliLaboratorio 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
DettagliL accesso ai dispositivi esterni (tastiera, monitor, file,...) viene gestito mediante canali di comunicazione.
I file L accesso ai dispositivi esterni (tastiera, monitor, file,...) viene gestito mediante canali di comunicazione. I canali, sono delle strutture dati che contengono informazioni sul dispositivo fisico,
DettagliI 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
DettagliI 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
DettagliGestione 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
DettagliIntroduzione 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:
DettagliGestione 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
Dettaglifile 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
DettagliGESTIONE 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
DettagliFile 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
DettagliDIPARTIMENTO 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
DettagliFILE: 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
DettagliGestione 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
DettagliLa 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,
DettagliCapitolo 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
DettagliEsercizi. 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
DettagliLe 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
DettagliIntroduzione al Linguaggio C
Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C
DettagliLinguaggio 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
DettagliLibrerie C. Corso di Linguaggi e Traduttori 1 AA Corso di Linguaggi e Traduttori 1 AA stdio.h
Corso di Linguaggi e Traduttori 1 AA 2004-05 1 Corso di Linguaggi e Traduttori 1 AA 2004-05 stdio.h 2 Funzioni comuni di I/O? Le piu' comuni funzioni che permettono I/O sono getchar() e putchar():? int
DettagliFondamenti 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
DettagliLe 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
DettagliSommario. Manipolazione sequenziale di file in C Funzioni di base per I/O di file
File Input/Output 1 Sommario Manipolazione sequenziale di file in C Funzioni di base per I/O di file 2 Manipolazione di file I file devono essere aperti prima dell uso Associa un puntatore a file a ogni
DettagliLibrerie C. Corso di Linguaggi e Traduttori 1 AA
Corso di Linguaggi e Traduttori 1 AA 2004-05 1 Corso di Linguaggi e Traduttori 1 AA 2004-05 stdio.h 2 Funzioni comunidi I/O? Le piu' comuni funzioni che permettono I/O sono getchar() e putchar():? int
DettagliScrittura 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
DettagliDOTT. 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/
DettagliI 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
DettagliSulla libreria standard, III. Manipolare file con stdio.h
Sulla libreria standard, III Manipolare file con stdio.h 1 Libreria per input/output Con libreria si intende una collezione di sottoprogrammi che vengono utilizzati per lo sviluppo di software non eseguibili,
DettagliSOMMARIO 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
DettagliI 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
DettagliSommario 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
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Docente: Camillo Fiorentini 16 ottobre 2007 1 Rappresentazioni di caratteri in C In C un carattere è una costante intera il cui valore è dato dal codice ASCII
DettagliStruttura 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
DettagliMatrici, 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
DettagliInput/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
DettagliCapitolo 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
DettagliIL 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
DettagliStruttura 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
DettagliGestione 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
DettagliInput/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
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA6 A1 I file testo 1 Prerequisiti Programmazione base in Java Utilizzo di classi e oggetti Modello produttore consumatore Operazioni logiche su struttura file 2 1 Introduzione
DettagliEsercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Si ringrazia Raffaele Nicolussi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it
DettagliDIPARTIMENTO 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
DettagliUn 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
DettagliMemoria Secondaria o di Massa
Memoria Secondaria o di Massa dischi fissi (hard disk), floppy disk, nastri magnetici, CD, DVD, USB memory, etc deve essere permanente (mentre la RAM e`volatile) accesso sequenziale, cioe il tempo di accesso
DettagliSuggerimenti, 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
DettagliCorso di Laurea in Ingegneria Meccanica A-K. Fondamenti di Informatica A. A Gestione dei File. A.Pinto
Corso di Laurea in Ingegneria Meccanica A-K Fondamenti di Informatica A. A. 2011-2012 1 Memorizzazione dei dati su dispositivi di memoria esterna Dispositivi di memorizzazione secondaria sono: dischi,
DettagliLe 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
DettagliMATLAB: 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
DettagliLaboratorio 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
DettagliLIBRERIE STANDARD in C. LIBRERIE STANDARD in C
LIBRERIE STANDARD in C La libreria standard del C è in realtà un insieme di librerie Per usare una libreria, non occorre inserirla esplicitamente nel progetto: ogni ambiente di sviluppo sa già dove cercarle
DettagliStringhe Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliSistemi informatici in ambito radiologico. Introduzione al corso. Programma del corso. Dott. Ing. Andrea Badaloni A.A
Sistemi informatici in ambito radiologico Dott. Ing. Andrea Badaloni A.A. 2016-2017 Introduzione al corso Programma del corso Lezione Argomento Ore 1 2 2 Reti di elaboratori, modello a strati e i protocolli
DettagliFormattazione avanzata. I/O Avanzato e File. Formattazione dell output. Formattazione avanzata. Forma completa degli specificatori
Formattazione avanzata Modificatori di o in output Modificatori di o in input Stream predefiniti I/O Avanzato e File 2 Formattazione dell output Formattazione avanzata L output (su schermo o su file) viene
DettagliLab 10 Gestione file di testo
Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 10 Gestione file di testo Lab15 1 Esercizio 1 n Realizzare un programma che, aperto un file di testo di nome
DettagliGestione 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
DettagliLaboratorio 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
Dettagliint ninv; /* numero di inventario */
1) Scrivere il programma C che legga da un file di testo ("dati.dat") i record con dati relativi ad un archivio di dischi (utilizzando la struttura data) e scriva il file dati1.dat con i nomi degli artisti
DettagliIntroduzione al C. Unità 8 Stringhe
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Unità 8 Stringhe D. Bloisi, A. Pennisi, S. Peluso, S. Salza Sommario Unità 8 Array di
DettagliIL SISTEMA OPERATIVO
IL SISTEMA OPERATIVO Insieme di programmi che opera al di sopra della macchina fisica, mascherandone le caratteristiche e fornendo agli utenti funzionalità di alto livello. PROGRAMMI UTENTE INTERPRETE
DettagliFILE 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
DettagliIL SISTEMA OPERATIVO IL SISTEMA OPERATIVO
IL SISTEMA OPERATIVO Insieme di programmi che opera al di sopra della macchina fisica, mascherandone le caratteristiche e fornendo agli utenti funzionalità di alto livello. PROGRAMMI UTENTE INTERPRETE
DettagliI 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
DettagliProgrammazione 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
DettagliCorso di Informatica. Architettura del Calcolatore. Architettura del Calcolatore. Corso di Laurea in Conservazione e Restauro dei Beni Culturali
Corso di Laurea in Conservazione e Restauro dei Beni Culturali Corso di Informatica Gianluca Torta Dipartimento di Informatica Tel: 011 670 6782 ail: torta@di.unito.it Architettura del Calcolatore Architettura
DettagliIl 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 =
DettagliCorso di Informatica
Corso di Informatica Modulo T2 4 Input e output 1 Prerequisiti Il modello di Von Neumann Utilizzo elementare del computer. 2 1 Introduzione In questa Unità studiamo la parte del computer detta sottosistema
Dettaglicaratteri, 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
DettagliSistema Operativo (Software di base)
Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:
DettagliLinguaggio 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
DettagliGestione dei file di dati
Gestione dei file di dati 1. Le classi di input/output Il linguaggio C++ non dispone di proprie istruzioni per la gestione dell interazione con l utente. Si appoggia infatti su appositi comandi scritti
DettagliFondamenti 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.
DettagliOTTAVA ESPERIENZA DI LABORATORIO. L elaborazione dei files in C
CORSO DI LABORATORIO DI INFORMATICA CORSO DI LAUREA IN SDM ANNO ACCADEMICO 2011-2012 Docente: R. Sparvoli Esercitazioni: R. Sparvoli, F. Palma OTTAVA ESPERIENZA DI LABORATORIO L elaborazione dei files
DettagliI 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
DettagliINFORMATICA. L informatica comprende:
Varie definizioni: INFORMATICA Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Definizione proposta: Scienza della rappresentazione e dell elaborazione dell informazione
DettagliPrimi 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
DettagliLP1 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
DettagliGESTIONE DEI FILE IL CONCETTO DI FILE APERTURA E CHIUSURA DI UN FILE OPERARE SUI FILE
GESTIONE DEI FILE Per poter mantenere disponibili i dati tra le diverse esecuzioni di un programma (persistenza dei dati) è necessario poterli archiviare su memoria di massa Un file è una astrazione fornita
DettagliElementi di Informatica
Elementi di Informatica Capitolo 1 - Concetti Generali Si definisce: Hardware, l'insieme degli elementi fisici che costituiscono un computer (vedi capitolo 2). Software, l'insieme dei programmi che consentono
DettagliGESTIONE DEI FILE persistenza archiviare file astrazione fornita dal sistema operativo dimensione potenzialmente illimitata ad accesso sequenziale
GESTIONE DEI FILE Per poter mantenere disponibili i dati tra le diverse esecuzioni di un programma (persistenza dei dati) è necessario poterli archiviare su memoria di massa Un file è una astrazione fornita
DettagliScope (visibilità) Scope di un identificatore
Scope (visibilità) Scope di un identificatore Lo scope (visibilità) di un identificatore è la porzione di codice in cui quell identificatore è definito e ha senso Se l identificatore si riferisce a una
DettagliSistema operativo. Interazione con il SO
Sistema operativo Il sistema operativo (SO) è un insieme complesso di programmi che, in modo coordinato, controlla le risorse del sistema e i processi che usano queste risorse. Per evidenziare le funzionalità
DettagliGestione 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)
DettagliLezione 25: File Mercoledì 18 Novembre 2009
Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Meccanica & Ingegneria Gestionale Mat. Pari Docente : Ing. Secondulfo Giovanni Anno Accademico 2009-2010 Lezione 25:
DettagliSistemi Operativi Teledidattico
Sistemi Operativi Teledidattico Anno 2002 3a esercitazione 5/10/2002 Paolo Torroni processi fork (creazione di un figlio) exec (sostituzione di codice del programma in esecuzione) wait (attesa della terminazione
DettagliCaratteri e stringhe
Caratteri e stringhe Caratteri Dato che un computer può memorizzare esclusivamente sequenze di bit, per memorizzare un carattere (e quindi testi) è necessario stabilire una convenzione che associa a un
DettagliInput/Output. Console e File.
Input/Output Console e File http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Introduzione Le istruzioni di stampa servono a rendere visibili
DettagliParte II. Introduzione ai sistemi operativi e WindowsX. Parte II 1
Parte II Introduzione ai sistemi operativi e WindowsX Parte II 1 tutto è un programma Insieme di istruzioni che il calcolatore deve eseguire Programma Input Calcolatore Output Parte II 2 Come comunicare
DettagliLinguaggio C: introduzione
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: introduzione La presente dispensa e da utilizzarsi
Dettagli