I FILE. Un FILE è una sequenza di elementi il cui numero può crescere indefinitamente in base alle esigenze (un file è perciò una struttura dinamica).
|
|
- Flaviana Righi
- 5 anni fa
- Visualizzazioni
Transcript
1 I FILE Ogni volta che usiamo un programma, inseriamo dei dati in un eseguibile, quando il programma termina tutti i dati inseriti si perdono. L ideale sarebbe avere a disposizione un qualcosa che permette di conservare i dati e di ripescarli quando servono. Quel qualcosa prende il nome di FILE. Un FILE è una sequenza di elementi il cui numero può crescere indefinitamente in base alle esigenze (un file è perciò una struttura dinamica). I file servono ad un programma per trasferire o organizzare informazioni dall esterno. Tra le informazioni importanti che possiamo registrare su file, molto importanti sono quelle che rigurdano tipi di dati omogenei; un file di questo tipo è chiamato ARCHIVIO. Un ARCHIVIO è un insieme di registrazioni (o records) ciascuna delle quali è costituita di un insieme di informazioni elementari dette attributi (o campi ). Un archivio di dati è quindi un insieme di informazioni organizzate in modo che: Tra loro ci sia un nesso; siano rappresentate secondo un formato che ne renda facile la lettura o l interprestazione; siano organizzate in modo da rendere semplice l accesso e veloce il ritrovamento: siano registrate su un supporto (magnetico, ottico o di carta) dove si possono leggere o scrivere le informazioni. Esempi di archivi sono: il registro delle informazioni che si riferiscono a ciascun cliente di un azienda (Cognome, Nome, Partita Iva, Saldo), l anagrafe di un comune, il registro scolastico. L uso degli archivi di dati su supporti di memoria di massa rende disponibile per l elaborazione una quantità di dati rilevante che non potrebbe essere contenuta nella memoria centrale di un computer. Comunemente per indicare un archivio di dati si usa il termine inglese file. I dati archiviati non sono un insieme disordinato, ma hanno una struttura e formano un sistema organizzato per la conservazione e il trattamento 1
2 dei dati. Un file può essere considerato come un insieme di record legati fra loro da un nesso logico. E una struttura dati che realizza concretamente la struttura a tabella definita precedentemente. Per gestione di un archivio si intende la possibilità di eseguire operazioni di inserimento, modifica, cancellazione e visualizzazione di dati in file. 1 OPERAZIONI SUI FILE Apertura: consente l inizio delle operazioni sul file e permette al sistema di individuare sul supporto fisico l inizio del file. Lettura di un dato dal file; Scrittura di un dato sul file; Chiusura: segnala il termine delle operazioni sul file. L elaborazione dei file non avviene on memoria centrale (CENNI??) (a causa delle dimensioni avolte elevate del file), ma sempre un elemento (record) per volta, lavorando su un apposita area di appoggio chiamata buffer che viene riservata quando si apre il file e rilasciata durante l operazione di chiusura. Tale area è organizzata come uno degli elementi componenti il file, predisposta in memoria centrale per ricevere i dati da elaborare. L operazione di lettura trasferisce dal supporto periferico (Hard disk, floppy, pennina) alla memoria il record da trattare; è detta operazione di input. L operazione di scrittura trasferisce dalla memoria al supporto periferico (Hard disk, floppy, pennina) il record da trattare; è detta operazione di output. Con le operazioni di aprtura del file viene anche riservata un area di memoria centrale, detta buffer di I/O, usata per le operazioni di lettura e scrittura su file. L area è rilasciata durante l operazione di chiusura, con opportuni comandi per svuotare il buffer. 2 Tipi di file Esistono due tipi di file: FILE TESTO (o ASCII) FILE BINARI 2
3 La differenza fra i due riguarda la loro leggibilità: I FILE TESTO (o ASCII) contengono caratteri di fine riga (EOL, end of line) per fornire un ìimpaginazione delle informazioni contenute e ciascun byte rappresenta un carattere della codifica ASCII. I FILE BINARI rappresentano un flusso continuo di bit, ragguppati in byte, ma non necessariamente distinti l uno dall altro. Prima si utilizzavano prevalentemente i file di testo, in quanto un unico tipo di file gestiva sia dati per gli utenti (lettere, bolle, fatture, programmi sorgenti) che linguaggio macchina (programmi applicativi,comandi del sistema), che potevano essere letti immediatamente, erano subito comprensibili, senza un programma di scrittura. Sono visualizzati ancora oggi con Blocco note. Oggi invece esistono file personalizzati dal programma che li ha creati; per esempio i file creati da word sono leggibili e modificabili solo da word. Il C++, non essendo un linguaggio orientato al settore gestionale gestisce il file come dispositivo di I/O e non come gestione di dati. 3 Accesso agli archivi Il tipo di accesso ai file rappresenta il modo di accedere ad un informazione memorizzata nel file, cioè le modalità con cui il programma utilizza i byte contenuti nei blocchi fisici rendendoli disponibili in memoria centrale per l elaborazione, rappresentano il tipo di accesso al file. Esistono due tipi di accesso: Sequenziale Diretto In un file a struttura sequenziale gli elementi che lo compongono vengono memorizzati tenendo conto della sequenza con la quale si presentano; gli elementi possono essere ritrovati scorrendo tutti i dati, dal primo sino all ultimo. Questo tipo di accesso consente di avere record di lunghezza variabile, ma ha dei limiti nel ritrovamento dei dati, quando il numero delle componenti è elevato (ex: trovare un brano in una musicassetta). Efficace per brani di piccole dimensioni. 3
4 L accesso diretto si può usare con record di lunghezza fissa e aventi tutti la stessa struttura; consente di riferirsi solo alla specifica componente, identificando la sua posizione all interno del file. La maggior parte dei problemi gestionali (registro di classe, archivio clienti) ha caratteristiche consone ad un file ad accesso diretto. Questo tipo di accesso è detto pure random (asuale) per contrapporlo all organizzazione sequenziale, in quanto l utente può accedere alla componente d interesse senza leggere tutte quelle che la precedono.è conveniente negli archivi in cui i record sono identificati attraverso un numero d ordine progressivo (ex. archivio anagrafico degli studenti di una scuola) 4 Record aventi la stessa lunghezza (FILE BINARI IN C) Per manipolare i dati in C++ occorre la libreria <stdio.h>, in cui è definita la costante EOF (end of file), che vale -1, che permette di controllare quando si è arrivati alla fine del file. 4.1 Dichiarazione FILE *fp; - FILE indica un tipo di dato strutturato (record o struttura) definito nella libreria; - *fp è il nome con cui identifichiamo il file, è un puntatore al file (fp sta per File Pointer). 4
5 4.2 Apertura Associa il nome di un file esterno (che si trova nella memoria di massa) al nome interno (file pointer) dl file. fp = fopen ( nomefisico, modo ); - nomefisico indica il nome dato al file (ex. amici.txt); - modo è la modalità con cui aprire un file, i comandi sono nella tabella seguente e sono differenti se vogliamo usare un file di testo o un file binario. FILE FILE TESTO BINARI r rb Solo lettura (read) Se il file non esiste, restituisce un messaggio di errore w wb Solo scrittura (write) Se il file non esiste, viene creato; se esiste viene effettuata la sovrascrittura a partire dall inizio con perdita dei dati precedenti r+ r+b Lettura e scrittura w+ w+b Scrittura e Lettura a ab Scrittura in fondo al file Se il file non esiste, viene creato; (Append) se esiste viene effettuata la scrittura in coda ai dati già esistenti a+ a+b Scrittura in fondo al file e lettura Ex: fp = fopen ( amici.txt, w ); crea un file chiamato amici.txt in cui è possibile scriverci sopra. Il C non distingue tra accesso diretto o sequenziale; dipende dal programmatore organizzare l accesso in maniera differente. 4.3 Chiusura Chiude un file aperto: fclose (fp); L istruzione fclose interrompe il collegamento tra il file fisico sulla memoria di massa e il nome interno del file, liberando anche il buffer di I/O in memoria centrale. 5
6 4.4 Lettura Legge una componente dal file e ne trasferisce il contenuto nella memoria centrale; fread( buffer,dimensione, NumeroElementi, fp); Il primo parametro riguarda l indirizzo del buffer di memoria, la dimensione in byte di una componente del file, il numero delle componenti che vengono lette e il puntatore al file. Ex: fread( nomi,sizeof(struct agenda),1,fp); 4.5 Scrittura Scrive il contenut del buffer dalla memoria centrale sul file: fwrite( buffer,dimensione, NumeroElementi, fp); Come si può notare ha gli stessi parametri della funzione di lettura. 4.6 Fine del file Funzione che restituisce lo stato di raggiungimento della fine del file nelle opreazioni di lettura sequenziale delle componenti: il suo valore diventa VERO ( 0) quando si legge l ultima componente, è FALSO (= 0) altrimenti. feof(fp); 4.7 Posizionamento Specifica dell accesso random al file. Indiviua la posizione di una specifica componente del file calcolando il numero di byte della componente che la precedono. Precede le operazioni di lettura e scrittura sul file. fseek(fp, posizione, inizio); posizione indica il numero dei byte con i quali il puntatore al file viene spostato aventi nel file (se è negativo viene spostato indietro); inizio indica il punto di partenza per il posizionamento e precisamente: inizio = 0 posizionamento a partire dall inizio del file; inizio = 1 posizionamento a partire dalla posizione corrente del puntatore; inizio = 2 posizionamento a partire dalla fine del file; Posizione dev essere un parametro di tipo long. 6
7 fseek restituisce il valore 0 se il posizionamento è riuscito correttamente, diverso da 0 altrimenti. Per conoscere in ogni istante la posizione del puntatore al file (di tipo long) attraverso la funzione ftell che ha come argomento il puntatore stesso: long pos; pos = ftell(fp); 5 Esempio accesso SEQUENZIALE Scrivere un programma per archiviare e gestire i dati di un listino prezzi. Si definisce un record che contiene due campi: la descrizione di un prodotto e il suo prezzo. La fase di registrazione è di tipo sequenziale: per ogni articolo si inseriscono i dati da tastiera, tali dati costituiscono la struttura che viene poi scritta sul file. #include<stdio.h> #include<iostream.h> #include<conio.h> //dichiarazione della struttura struct merce{ char descrizione[15]; float prezzo; ; merce articolo; FILE *fp; void registra (void); void stampa (void); int main() { //registrazione fp=fopen("listino.txt","wb"); registra(); fclose(fp); //elenco degli articoli fp=fopen("listino.txt","rb"); if(fp!=null) { stampa(); 7
8 fclose(fp); else printf("errore: l archivio non esiste"); getch(); return 0; //inserimento degli articoli void registra(void) { int risposta; do{ printf("inserimento di un articolo \n"); printf("descrizione: "); scanf("%s", articolo.descrizione); printf("prezzo: "); scanf("%f", &articolo.prezzo); fwrite(&articolo, sizeof(merce), 1, fp); printf("eleno finito? (0=no,1=si): "); scanf("%d",&risposta); while(!risposta); return; //stampa dell elenco void stampa (void) { fprintf(stdout,"listino articoli \n"); fread(&articolo,sizeof(merce), 1, fp); return; while(!feof(fp)) { fprintf(stdout, "%-25s ",articolo.descrizione); fprintf(stdout, "%12.2f \n",articolo.prezzo); fread(&articolo,sizeof(merce), 1, fp); 8
9 6 Accesso DIRETTO Se le componenti del file hanno tutte la stessa struttura, per effetto di scrittura su file, ciascuna registrazione acquisisce un numero d ordine all interno dell archivio che diventa il suo codice di registrazione. Per individuare la posizione dei dati all interno dell archivio, se si indica con i il codice, il posizionamento si ottiene moltiplicando il numero delle registrazioni che la precedono per la dimensione della struttura: posizione = (i-1) * dimensione (struttura) Dopo aver calcolato la posizione è possibile effettuare un operazione di lettura o scrittura. Occorre specificare che il linguaggio usato non prevede istruzioni per rappresentare le modifiche e la cancellazione dei dati sul file. Per fare la modifica occorre sfruttare le operazioni di lettura e scrittura: posizionamento lettura dei dati dal buffer inserimento da tastiera di nuovi dati riposizionamento scrittura del buffer sul file. La cancellazione può essere realizzata con la scrittura sopra i campi della struttura di spazi bianchi o attraverso i caratteri di controllo, per esempio il carattere. 6.1 Esempio accesso DIRETTO ESERCIZIO ATLAS PAG 494 Una sostanziale differenza fra file ad accesso sequenziale e file ad accesso diretto sta nella possibilità di poter leggere, in quest ultimo, i record chw si trovano prima del puntamento corrente. Se nel sequenziale si vuole leggere il tero record dopo aver letto il quarto è necessario chiudere il file e riaprirlo. Con l accesso diretto è invece sufficente riposizionare il puntatore al file chiamato fseek.. 9
10 7 FILE DI RECORD A LUNGHEZZA VARI- ABILE Anche il testo di un programma o un documento registrato su memoria di massa sono considerati come file: le istruzione del programma o le righe del documento sono le componenti del file. In questo caso il file è formato da record a lunghezza variabiule, da linee di caratteri, e si chiama FILE DI TESTO: ogni record termina con un marcatore di EOL (end of line). Per tali tipi di file si utilizza in genere l accesso sequenziale in lettura e scrittura. Le modalità con cui si apre sono quelle viste precedentemente per i file a lunghezza costante. Dal punto di vista del sistema operativo, la tastiera è considerata come un file di testo dove si possono fare solo operazioni di input, il video e la stampante sono file di testo dove si possono fare solo operazioni di output. Per effettuare operazioni dei lettura e scrittura formattare si usano le istruzioni fscanf e fprintf, che hanno la seguente sintassi: fprintf(fp, "\%s \n",nome) fscanf(fp, "\%s",nome) fp è il nome del puntatore, % indica il tipo di dato da usare (s è un carattere, d un intero, f un float), nome la variabile il cui valore va inserito sul file (fprintf) o in cui inserire il valore letto dal file (fscanf). La lettera f sta a significare che stiamo utilizzando un file. 7.1 Esempio file di testo Creare l archivio degli amici. #include<stdio.h> FILE *fp; char nome[30]; void chiedinome(void); int main() { fp=fopen("amici.txt","w"); chiedinome(); while(nome[0]!= * ) { 10
11 fprintf(fp,"%s \n",nome); chiedinome(); fclose(fp); return 0; void chiedinome(void) { printf("dammi il nome dell amico (* per finire): "); scanf("%s",nome); return; Aggiungere i nomi delle amiche nel precedente archivio #include<stdio.h> FILE *fp; char nome[30]; void chiedinome(void); int main() { fp=fopen("amici.txt","a"); chiedinome(); while(nome[0]!= * ) { fprintf(fp,"%s \n",nome); chiedinome(); fclose(fp); return 0; void chiedinome(void) { printf("dammi il nome dell amico (* per finire): "); scanf("%s",nome); return; 11
12 Visualizzare il precedente archivio Nell istruzione fprintf compare la parola stdout stampa sullo schermo i risultati letti, ma con il comando stdprn è possibile mandare i dati a una stampante, se collegata. #include<stdio.h> #include<conio.h> int main() { FILE *fp,*st; char *nome[30]; fp=fopen("amici.txt","r"); fscanf(fp,"%s \n",nome); while(!feof(fp)) { fprintf(stdout,"%s \n",nome); //stdout scrive sullo schermo //il contenuto del file fscanf(fp,"%s",nome); fclose(fp); getch(); return 0; 8 Operazioni sui singoli caratteri Il linguaggio fornisce due funzioni: fgetch, per la lettura fputc, per la scrittura Per esempio: c = fgetch(fp1) assegna alla variabile c il carattere letto dal file avente come nome interno fp1. fputc(c,fp1) scrive il carattere, contenuto nella variabile c, nel file avente come nome interno fp1. 12
13 La prima istruzione è equivalente a scrivere: fscanf (fp1, %c, c); mentre la seconda è equivalente a fprintf(fp1, %c, c); Esempio: Scrivere il programma che permette di copiare il contenuto di un file binario in un altro file binario. #include<stdio.h> int main() { FILE *fp1,*fp2; int c; // variabile per leggere il contenuto del file //apre primo file in lettura fp1=fopen("prova1.doc","rb"); //apre secondo file in scrittura fp1=fopen("prova2.doc","wb"); c=fgetch(fp1); while(!feof(fp1)) { fputc(c, fp2); // scrive in fp2 il contenuto di c c=getch(fp1); // legge nuovo elemento da fp1 //chiusura file fclose(fp1); fclose(fp2); getch(); return 0; 13
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
DettagliInformatica (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
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
DettagliGestione 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 è
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
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
DettagliGestione 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è
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
DettagliLaboratorio 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
DettagliDIPARTIMENTO 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
DettagliDIPARTIMENTO 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
DettagliGESTIONE 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
DettagliDIPARTIMENTO 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
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)
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
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
DettagliGestione 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
DettagliCorso 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
DettagliI 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
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
DettagliStreams 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
DettagliI file di dati. Unità didattica D1 1
I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali o binarie Noi ci occuperemo di file contenenti informazioni testuali In fondo ad un file sequenziale
DettagliIl 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
DettagliGestione 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
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
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
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 files in linguaggio C. Fondamenti
Programmazione e Laboratorio di Programmazione Gestione dei files in linguaggio C Fondamenti 1 Che cosa è un file? Un file può essere visto come un contenitore di informazioni simile ad un vettore di bytes
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
DettagliFILE 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
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
DettagliFondamenti 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
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
Dettagli4. Accesso diretto per gli archivi con record a lunghezza costante
4. Accesso diretto per gli archivi con record a lunghezza costante Nell accesso diretto (in inglese, random) al file binario, le operazioni di lettura o scrittura devono essere precedute dall operazione
DettagliELEMENTI 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:
DettagliFiles 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
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
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
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
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
DettagliCorso 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
DettagliInformazioni Utili. Fondamenti di Informatica L-B (L-Z) Esercitazioni. A.A. 2005/06 Tutor: Loris Cancellieri
Fondamenti di Informatica L-B (L-Z) Esercitazioni A.A. 2005/06 Tutor: Loris Cancellieri loris.cancellieri@studio.unibo.it Informazioni Utili Orario delle Esercitazioni Lunedì 14-16 Gruppo L Q Martedì 16-18
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
DettagliIntroduzione 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
DettagliFile 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
DettagliFONDAMENTI 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
DettagliPremessa. Input /output e gestione dei file. I file e gli stream. Il puntatore al file. 21. I FILE NEL LINGUAGGIO C Versione 1.
Input /output e gestione dei file Premessa Iniziamo la lezione dicendo subito che per INPUT/OUTPUT si intende l insieme delle operazioni di ingresso ed uscita, ossia lo scambio di informazioni tra il programma
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
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
DettagliCorso 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
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:
Dettaglipuntatori Lab. Calc. AA 2006/07 1
puntatori Lab. Calc. AA 2006/07 1 Attributi di un oggetto nome o identificatore; tipo; valore (o valori); indirizzo; Lab. Calc. AA 2006/07 2 Indirizzo Consideriamo la dichiarazione con inizializzazione:
DettagliFondamenti di Informatica L-B (L-Z) Esercitazioni. A.A. 2007/08 Tutor: Barbara Pettazzoni
Fondamenti di Informatica L-B (L-Z) Esercitazioni A.A. 2007/08 Tutor: Barbara Pettazzoni barbara.pettazzoni@studio.unibo.it Informazioni Utili Orario delle Esercitazioni Martedì 14-16 Gruppo L Q Martedì
DettagliInput / 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
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
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
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
DettagliInterfaccia del file system
Interfaccia del file system Concetto di file Metodi di accesso Struttura delle directory Protezione 1 Concetto di File Insieme di informazioni correlate, registrate in memoria secondaria, con un nome.
DettagliPerché usare UniversiBO?
Perché usare UniversiBO? Fondamenti di Informatica L-B (L-Z) Esercitazioni A.A. 2007/08 Tutor: Barbara Pettazzoni barbara.pettazzoni@studio.unibo.it Il vostro dubbio puó essere il dubbio di vostri colleghi
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
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
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
DettagliARCHIVI E FILE. Prof. Ciaschetti
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
DettagliSettimana 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
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
DettagliInput / 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
DettagliCosa serve per cominciare?
Cosa serve per cominciare? La linea di comando Il notepad (o equivalente) Saper scrivere qualcosa a video da programma risultato dell elaborazione elaborazione Ma come si fa?! 1 Input / Output L'immissione
DettagliInformatica e Laboratorio di Programmazione C++ stream Alberto Ferrari. Alberto Ferrari Informatica e Laboratorio di Programmazione
Informatica e Laboratorio di Programmazione C++ stream Alberto Ferrari Alberto Ferrari Informatica e Laboratorio di Programmazione stream o l input/output del C++ è basato sugli stream o gli stream sono
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
DettagliStandard Input e Standard Output
Istruzioni di I/O Standard Input e Standard Output Il C++ utilizza i concetti di standard input e standard output rispettivamente come astrazione di un canale per l ingresso e per l uscita dei dati In
DettagliGestione dei file in C
Gestione dei file in C Generalità Il linguaggio C non contiene alcuna istruzione di Input/Output. Tali operazioni vengono svolte mediante chiamate a funzioni definite nella libreria standard contenute
DettagliUnità Didattica 5 Linguaggio C. Stringhe. Accesso a file ASCII. Strutture.
Unità Didattica 5 Linguaggio C Stringhe. Accesso a file ASCII. Strutture. 1 Stringhe Una stringa è una sequenza di caratteri (es: ciao, sd!n29dnqa ); In C non esiste una variabile di tipo stringa; Una
DettagliSono 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
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
DettagliProf. 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
DettagliLezione 11: Liste a Puntatori e Input/Output
Lezione 11: Liste a Puntatori e Input/Output Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione Richiamo: strutture (struct)
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
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
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
DettagliInput/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
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,
DettagliVariabili 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
DettagliDati due punti sul piano calcolare la loro distanza
Introduzione al C Primo esempio in C Dati due punti sul piano calcolare la loro distanza Soluzione: la distanza fra due punti si calcola secondo il teorema di Pitagora, con la formula: y Distanza = (lato12
DettagliCorso di Informatica
Corso di Informatica Modulo T3 A1 - Struttura File 1 Prerequisiti Tecnica della programmazione elementare Sottoprogrammi Tipo di dato Concetti elementari sulle memorie di massa 2 1 Introduzione Nei casi
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
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
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
DettagliInput / 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
DettagliFile qualche nota riassuntiva Che cos è un file? È un astrazione fornita dal sistema operativo, per consentire la memorizzazione di informazioni su
File qualche nota riassuntiva Che cos è un file? È un astrazione fornita dal sistema operativo, per consentire la memorizzazione di informazioni su memoria di massa È un astrazione di memorizzazione di
DettagliProblema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.
Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la
DettagliConcetto di stream. c i a o \0. c i a o \0. c i a o \0
Concetto di stream Uno stream è un flusso di byte che permette al programma di comunicare con l esterno (es. con periferiche di input/output) c i a o \0 c i a o \0 c i a o \0 Stream di uscita standard
DettagliImplementazione dell albero binario in linguaggio C++
Implementazione dell albero binario in linguaggio C++ Costruire il programma per gestire le operazioni su un albero binario. Ogni nodo dell albero contiene un codice e una descrizione; il programma deve
DettagliVerifica su Record e File
Nome: Data: Valutazione in ventesimi Verifica su Record e File 1. (max 1,5 punti) Completare le frasi scegliendo tra i tipi d accesso ai file indicati al termine della domanda: a. L accesso si utilizza
DettagliGESTIONE 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
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
DettagliLezione 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