I File. I file vengono distinti in due categorie: ILOHGLWHVWR costituiti da caratteri ed organizzati in linee (ciascuna terminata da \n ) )LOHGLWHVWR
|
|
- Giuliana Parisi
- 7 anni fa
- Visualizzazioni
Transcript
1 Lezione 10 File: Organizzazione degli archivi Gestione di file in C/C++ Apertura di un File Lettura e Scrittura di file Lettura/scrittura di blocchi File ad accesso diretto I File Il ILOH e l unita logica di memorizzazione dei dati su memoria di massa Consente una memorizzazione SHUVLVWHQWH dei dati, non limitata dalle dimensioni della memoria centrale Generalmente un file e`una sequenza di componenti omogenee (record logici) I file sono gestiti dal Sistema Operativo sottostante 1
2 I File I file vengono distinti in due categorie: ILOHGLWHVWR costituiti da caratteri ed organizzati in linee (ciascuna terminata da \n ) ILOHELQDUL sequenze di bit )LOHGLWHVWR Sono file di caratteri, organizzati in linee. Ogni linea e terminata da una marca di fine linea (QHZOLQH, carattere \n ). Egregio Sig. Rossi, con la presente le rendo noto di aver provveduto... Il UHFRUGORJLFR puo essere il singolo carattere oppure la singola linea. 2
3 2UJDQL]]D]LRQHGHJOLDUFKLYL Dispositivi di memoria di massa: $GDFFHVVRVHTXHQ]LDOH per accedere ad un blocco occorre scandire tutti quelli che lo precedono $GDFFHVVRGLUHWWR ciascun blocco e indirizzabile I dati sono organizzati in memoria di massa tenendo conto di due obiettivi: 1. memorizzazione compatta di molti dati su dispositivi di capacita` limitata; 2. capacita`di recuperare in modo efficiente i dati. Metodi base per l organizzazione degli archivi (strutture dati): Sequenziale Ad accesso diretto (o casuale) Ad indice A ciascuna struttura dati corrispondono diversi modi nei quali è possibile utilizzarla (ad esempio, diversi metodi di elaborazione). *HVWLRQHGLILOH In C/C++ i file sono sequenziali, con possibilità di accesso diretto $SHUWXUDGLXQILOH: compie le azioni preliminari necessarie affinche`il file possa essere acceduto $FFHVVRDGXQILOH: contenuto del file viene letto in memoria centrale o scritto dalla memoria centrale &KLXVXUDGLXQILOH: memorizza permanentemente il suo contenuto in memoria di massa 3
4 $SHUWXUDGLXQILOH Prima di accedere ad un file e necessario aprirlo Per aprire un file in C: 1) e necessario definire una variabile di tipo puntatore a FILE: Es.: ),/(IS il tipo FILE e un tipo non primitivo dichiarato nel file stdio.h. 2) si utilizza la specifica funzione di apertura: Es.: ),/(IRSHQFKDU QDPH FKDU PRGH $FFHVVRDGXQILOH Dipendentemente dalla modalita di apertura scelta il file puo essere acceduto con diversi strumenti: fprintf fscanf fread fwrite... 4
5 scrive i risultati delle espressioni H[SU,..., H[SU1 secondo le specifiche di formato date dalla stringa IPW restituisce il numero di byte scritti, o EOF in caso di errore La stringa di formato è una normale stringa di caratteri, che può però contenere delle speciali specifiche di formato, della forma: FDUDWWHUL! )RUPDWLSLFRPXQL carattere singolo %c stringa di caratteri %s (signed) int %d unsigned int (decimale) %u unsigned int (ottale) %o unsigned int (esadecimale) %x float %f double %lf 5
6 #include <stdio.h> main() { float z=3.1415; int r=5; (VHPSLR char msg[50] = "Prova di stampa"; printf("valori: r= G, z= I, msg= V\n", r, z, msg); } #include <stdio.h> main() { int a; (VHPSLR printf("immetti un carattere:"); a = getchar(); printf("\n F rappresenta G in decimale, R in ottale e [ in esadecimale", a,a,a,a); } 6
7 legge da input tanti campi quanti ne specifica la stringa di formato IPW, se necessario li converte, e li memorizza negli indirizzi DGGU,..., DGGU1 restituisce il numero di campi letti (0 se non ha letto nulla), o EOF in caso di errore. La stringa di formato precisa esattamente cosa ci si aspetta in ingresso. Tipicamente contiene delle specifiche di formato. (VHPSLR #include <stdio.h> main() { float x; int ret, i; char name[50]; ret = scanf("giv", &i, &x, name); printf("g valori letti: G, I, V", ret, i, x, name); } 7
8 &KLXVXUDGLXQILOH Alla fine di una sessione di accesso ad un file e necessario chiudere il file per memorizzare permanentemente il suo contenuto in memoria di massa Si utilizza la specifica funzione di chiusura: LQWIFORVH ),/(IS ),/( IRSHQFKDU QDPHFKDUPRGH QDPH e un array di caratteri che rappresenta il nome (assoluto o relativo) del file nel file system PRGH esprime la modalita di accesso scelta. "r", in lettura (UHDG) "w", in scrittura (ZULWH) "a", scrittura, aggiunta in fondo (DSSHQG) "b", a fianco ad una delle precedenti, indica che il file é ELQDULR "t", a fianco ad una delle precedenti, indica che il file è di WHVWR Ritorna come risultato un puntatore al file aperto: il file deve esistere in memoria di massa, altrimenti viene restituito il valore NULL 8
9 LQWIFORVH ),/(IS IS rappresenta il puntatore al file da chiudere. fclose ritorna come risultato un intero: Se l operazione di chiusura e eseguita correttamente restituisce il valore 0 se la chiusura non e andata a buon fine, ritorna la costante EOF. fclose assegna il valore NULL al puntatore fp )LOHVWDQGDUGGL,2 Esistono tre file testo che sono aperti automaticamente all inizio di ogni esecuzione: VWGLQ, standard input (WDVWLHUD), aperto in lettura VWGRXW, standard output (YLGHR), aperto in scrittura VWGHUU, standard error (YLGHR), aperto in scrittura VWGLQ, VWGRXW, VWGHUU sono variabili di tipo puntatore a file automaticamente (ed implicitamente) definite non vanno definite!! 9
10 )XQ]LRQH IHRI Durante la fase di accesso ad un file e possibile verificare la presenza della marca di fine file con la funzione di libreria: LQWIHRI),/(IS feof(fp) controlla se e stata raggiunta la fine del file fp nella operazione di lettura o scrittura precedente. restituisce (falso) se non e stata raggiunta la fine del file un valore diverso da zero (vero), in caso contrario $SHUWXUDLQOHWWXUDRVFULWWXUD IS IRSHQILOHQDPHU IS IRSHQILOHQDPHZ ILOHQDPH fp Con entrambe le istruzioni il puntatore al file si posiziona sul primo record del file ILOHQDPH 10
11 $SHUWXUDLQDJJLXQWDDSSHQG IS IRSHQILOHQDPHDµ ILOHQDPH fp Il puntatore al file si posiziona sull elemento successivo all ultimo significativo del file ILOHQDPH se il file esisteva gia`, il suo contenuto non viene perso. /HWWXUDH6FULWWXUDGLILOH Una volta aperto un file, su di esso si puo accedere in lettura e/o scrittura, compatibilmente con quanto specificato in fase di apertura. Quattro diverse modalita : Lettura/scrittura con formato Lettura/scrittura di caratteri Lettura/scrittura di stringhe di caratteri Lettura/scrittura di blocchi (file binari) 11
12 /HWWXUDVFULWWXUDFRQIRUPDWR Funzioni simili a VFDQI e SULQWI, ma con un parametro aggiuntivo rappresentante il puntatore al file (di testo) sul quale si vuole leggere o scrivere: LQWISULQWI ),/(ISVWULQJDFRQWUROORHOHPHQWL LQWIVFDQI),/(ISVWULQJDFRQWUROOR LQGHOHP Restituiscono il numero di elementi scritti o letti, oppure un valore negativo in caso di errore. /HWWXUDVFULWWXUDFRQIRUPDWR Notare che: SULQWI VWULQJDFRQWUROORHOHPHQWL VFDQI VWULQJDFRQWUROOR LQGHOHPHQWL equivalgono a: ISULQWI VWRXWVWULQJDFRQWUROORHOHPHQWL IVFDQI VWGLQVWULQJDFRQWUROOR LQGHOHPHQWL 12
13 /HWWXUDVFULWWXUDGLFDUDWWHUL Simili a JHWFKDU e SXWFKDU, ma con un parametro aggiuntivo rappresentante il puntatore al file (di testo) sul quale si vuole leggere o scrivere: LQWJHWF ),/(IS LQWSXWF LQW F),/(IS LQWIJHWF ),/(IS LQWISXWF LQW F),/(IS In caso di esecuzione corretta, restituiscono il carattere letto o scritto come intero, altrimenti EOF. /HWWXUDVFULWWXUDGLVWULQJKH Funzioni simili a gets e puts: FKDU IJHWV FKDUV LQW Q),/( IS Trasferisce nella stringa V i caratteri letti dal file puntato da IS fino a quando ha letto n-1 caratteri RSSXUH ha incontrato un newline RSSXUH la fine del file. fgets mantiene il newline nella stringa s. Restituisce la stringa letta in caso di corretta terminazione; \0 in caso di errore o fine del file. 13
14 /HWWXUDVFULWWXUDGLVWULQJKH Funzioni simili a gets e puts: LQW ISXWV FKDU V),/(IS Trasferisce la stringa V (terminata da \0 ) nel file puntato da fp. Non copia il carattere terminatore \0 ne aggiunge un newline finale. Restituisce l ultimo carattere scritto in caso di terminazione corretta; EOF altrimenti. /HWWXUDVFULWWXUDGLEORFFKL Si può leggere o scrivere da un file (binario) un intero blocco di dati (binari). Un file binario memorizza dati di qualunque tipo, in particolare dati che non sono caratteri (interi, reali, vettori o strutture). Il test di fine del file viene ottenuto con la funzione feof (non e piu possibile il confronto tra il carattere letto ed EOF). LQWIHRI ),/(IS feof(fp) controlla se e stata raggiunta la fine del file fp nella operazione di lettura o scrittura precedente. Restituisce il valore 0 se non e stata raggiunta la fine del file, altrimenti un valore diverso da zero. 14
15 /HWWXUDD%ORFFKL E necessario che il file sia stato aperto in modo binario (modo b ). LQWIUHDG YRLG YHW LQWVL]H LQW Q),/( IS Legge (al piu`) Q oggetti dal file puntato da IS, collocandoli nel vettore YHW, ciascuno di dimensione VL]H Restituisce un intero che rappresenta il numero di oggetti effettivamente letti 6FULWWXUDD%ORFFKL E necessario che il file sia stato aperto in modo binario (modo b ). LQWIZULWH YRLG YHW LQWVL]H LQW Q),/( IS Scrive sul file puntato da IS, prelevandoli dal vettore YHW, Q oggetti,ciascuno di dimensione VL]H. Restituisce un intero che rappresenta il numero di oggetti effettivamente scritti (inferiore ad Q solo in caso di errore). 15
16 (VHPSLR #include <stdio.h> #include <stdlib.h> main() { FILE* fp; int vet[10]={1,2,3,4,5,6,7,8,9,10}; fp=fopen("numeri.dat","wb"); if (fp==null) { fprintf(stderr, "Errore apertura \n"); exit(1); } fwrite(vet,sizeof(int),10,fp); fclose(fp); } (VHPSLR #include <stdio.h> #include <stdlib.h> main() { FILE* fp; int vet[40], i, n; fp=fopen("numeri.dat","rb"); if (fp==null) { fprintf(stderr, "Errore apertura \n"); exit(1); } n=fread(vet,sizeof(int),40,fp); for (i=0; i<n; i++) cout << vet[i]; fclose(fp); } 16
17 )LOHDGDFFHVVRGLUHWWR Il C/C++ consente di gestire i file non solo come sequenziali, ma anche come file ad accesso diretto. Posizionamento in un file: La funzione IVHHN consente il posizionamento del puntatore al file su un qualunque byte. LQWIVHHN ),/(IORQJRIIVHW LQWRULJLQ si sposta di RIIVHW byte a partire dalla posizione RULJLQ Restituisce: 0 se ha spostato la posizione sul file un valore diverso da 0, altrimenti. Origine dello spostamento: 0 inizio file 1 posizione attuale nel file 2 fine file 17
Laboratorio di Programmazione
Laboratorio di Programmazione (Laurea triennale in matematica) Lezione 26 Sommario: Gestione dei file in C. File ad accesso sequenziale: apertura, chiusura, lettura e scrittura. File binari. Gestione files
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
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
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 è
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 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
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
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
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
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è
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 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
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
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
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
DettagliPerchè i files? Realizzano la persistenza dei dati. Sono delle strutture di dati sequenziali. dati che sopravvivono all esecuzione del programma
Perchè i files? Realizzano la persistenza dei dati dati che sopravvivono all esecuzione del programma Sono delle strutture di dati sequenziali Files e S.O. I files sono gestiti dal S.O. e resi visibili
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
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
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
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
DettagliLIBRERIE 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
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
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
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
DettagliLIBRERIE STANDARD in C Le librerie standard
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
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
Dettagli! I file di testo non sono indispensabili: sono semplicemente comodi 1
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
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
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
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
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
DettagliIl linguaggio C I file
Il linguaggio C I file mylib.c #include mylib.h int leggi(int a[], int dim) { int i=0; while( scanf("%d", a+i) ) { i++; if( i>=dim ) break; } return i; } void scambia(int *a, int *b) { int t; t = *a; *a
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. 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
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
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
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
DettagliFile. Molto astratta: file ha un nome (ex. Pippo.c), ed altre caratteristiche (dimensione, tipo, etc). Operazioni: copiare, cancellare, eseguire..
File I file sono una illusione creata dal Sistema Operativo(SO) Il SO usa opportune strutture dati per implementare tale astrazione (ad esempio: File Control Block, FCB) Sono usati per memorizzare in modo
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
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
DettagliInput/Output su File
Input/Output su File Premessa importante Queste dispense si intendono unicamente come riferimento rapido per consultare il significato e I prototipi delle funzioni per l'accesso ai file. Per avere esempi
DettagliFILE 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
DettagliFile file di testo file binari
File In C i file vengono distinti in due categorie: file di testo, trattati come sequenze di caratteri. organizzati in linee (ciascuna terminata da '\n') file binari, visti come sequenze di bit File di
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:
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
Dettagli! 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
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:
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
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
DettagliD Alcune funzioni della libreria standard del C
D Alcune funzioni della libreria standard del C In questa appendice forniamo una descrizione dettagliata dei principali sottoprogrammi della libreria standard del C. In particolare, il Paragrafo D.1 tratta
DettagliTitolo presentazione INFORMATICA. sottotitolo A.A Milano, XX mese 20XX Laboratorio n 4 Ing. Gian Enrico Conti Dott.
Titolo presentazione INFORMATICA A sottotitolo A.A. 2017-18 Milano, XX mese 20XX Laboratorio n 4 Ing. Gian Enrico Conti Dott. Michele Zanella Info Logistiche (cont d) Calendario laboratori Data Orario
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 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
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. I file. File. File. File
INFORMATICA File Per rendere più uniforme possibile il comportamento dei programmi in relazione alla grande varietà dei dispositivi periferici, i linguaggi moderni fanno riferimento ad un modello : i periferici
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
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
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
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
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 =
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
DettagliInput/output console file caratteri stringhe formattato ascii binari
Input/output Input/Output Input/output console file caratteri stringhe formattato ascii binari La libreria standard del C La libreria standard del C è in realtà un insieme di librerie Per usare una libreria,
DettagliIl 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
DettagliInformatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter
Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Ripasso Liste: typedef struct EL{TipoElemento Info; struct EL *Prox;} ElemLista; typedef ElemLista
DettagliUna stringa di caratteri in C è un array di caratteri terminato dal carattere '\0' a p e \0
STRINGHE: ARRAY DI CARATTERI Una stringa di caratteri in C è un array di caratteri terminato dal carattere '\0' s a p e \0 0 1 2 3 Un vettore di N caratteri può dunque ospitare stringhe lunghe al più N-1
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
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
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
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
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
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
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
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
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
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
DettagliGestione File di testo
Gestione File di testo In primo luogo diamo alcune nozioni di base su come è gestito l'i/o in ANSI C. Osserviamo subito che in ANSI C non sono direttamente definite delle istruzioni per l' Input/Output
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
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
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
DettagliLaboratorio di Informatica
Record Laboratorio di Informatica Ingegneria Meccanica Lezione 9, 6 dicembre 2007 versione 18 dicembre 2007 Renato Menicocci Array: collezione di dati omogenei
DettagliAllocazione dinamica della memoria
Allocazione dinamica della memoria Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Violetta Lonati
DettagliJAVA. import java.util.*; #include <stdio.h> public static class test { int variable; private int variable; int main (int argc, char *argv[]) {
JAVA C import javautil*; public static class test { private int variable; public void main (String[] args) { variable = 0; Systemoutprintln( Variable is: + variable); #include int variable; int
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
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)
DettagliI 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
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:
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
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 La gestione del buffer Gestione dei file in C In C all interno
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
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
DettagliIntroduzione al C. Lezione 4 Allocazione dinamica della memoria. Rossano Venturini. Pagina web del corso
Introduzione al C Lezione 4 Allocazione dinamica della memoria Rossano Venturini rossano@di.unipi.it Pagina web del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start Lezioni di ripasso
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
DettagliCorso di Informatica A.A
Corso di Informatica A.A. 2009-2010 Lezione 11 Corso di Informatica 2009-2010 Lezione 11 1 Utilizzo dei puntatori Funzioni Perche i Puntatori? I puntatori hanno tre importanti applicazioni: 1. Passaggio
Dettagli