Struttura dati FILE. Motivazioni: memorie a confronto
|
|
- Ilaria Tarantino
- 6 anni fa
- Visualizzazioni
Transcript
1 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 Le memorie elettroniche consentono un accesso ai dati molto più veloce Il costo per byte delle memorie non elettroniche è molto più basso, e quindi hanno dimensioni di un paio di ordini di grandezza più elevate. Si sta andando verso 1 Gbyte per RAM, 100 Gbyte per dischi PROBLEMA: Le memorie elettroniche sono volatili Programmazione - Michele Colajanni, 2006/
2 Motivazioni Necessità di gestione di grandi quantità di dati (anche per input/output) Necessità di persistenza dei dati, per esempio per mantenere disponibili informazioni tra diverse esecuzioni di un programma Necessità di utilizzare memorie di massa (si archiviano dati su memorie secondarie) Programmazione - Michele Colajanni, 2006/ Concetto di FILE Gestire (leggere e scrivere) informazioni su memorie di massa (es., disco) comporta operazioni molto complesse Il concetto FILE è un astrazione fornita dal sistema operativo In particolare, il sistema operativo consente al programmatore di considerare concettualmente l insieme di informazioni su disco come: una sequenza di registrazioni (record) di lunghezza potenzialmente illimitata (ma non infinita!) collegate ad un nome DATI Programmazione - Michele Colajanni, 2006/
3 Funzionamento Una testina di lettura/scrittura(concettuale) indica in ogni istante il record corrente All inizio, la testina si trova sulla prima posizione Dopo ogni operazione di lettura/scrittura, la testina si sposta sul record successivo E possibile operare su di un record alla volta E illegale tentare di leggere/scrivere oltre la fine del file (indicata con EOF) Programmazione - Michele Colajanni, 2006/ Tipi di file Esistono due grandi categorie di file dipendenti dalla modalità di accesso ai dati: File ad accesso sequenziale File ad accesso random (casuale)* *capire cosa significa casuale Programmazione - Michele Colajanni, 2006/
4 File in C Tutto il modello di coordinazione della Standard I/O Library del C è basato sul concetto di file Per gestire la corrispondenza fra il nome del file (come risulta al sistema operativo) ed una variabile del programma che rappresenta tale file, la Standard I/O Library definisce un apposito tipo: il tipo FILE In pratica, FILE è una struttura definita all interno dello header standard stdio.h, che l utente non ha necessità di conoscere nei dettagli e che spesso cambia da un ambiente (Compilatore+Sistema Operativo) all altro! Programmazione - Michele Colajanni, 2006/ File in C (cont.) Le strutture di tipo FILE non sono mai gestite direttamente dall utente, ma solo ed esclusivamente mediante le funzioni della Standard I/O Library Nei suoi programmi, il programmatore dovrà solo definire, ove necessario, dei puntatori a FILE La Standard I/O Library del C vede il file come uno stream di byte (=sequenza di byte), ma offre delle funzioni che consentono di distinguere fra: File di testo sequenza di caratteri File binario sequenza di byte Programmazione - Michele Colajanni, 2006/
5 File in C (cont.) A livello di sistema operativo, un file è denotato univocamente dal suo nome assoluto, che comprende il percorso ed il nome relativo In certi sistemi operativi, il percorso può comprendere il nome dell unità di memoria In DOS e Windows: C:\temp\prova1.c In UNIX e Linux: /usr/temp/prova1.c Programmazione - Michele Colajanni, 2006/ Sequenza di operazioni su file 1. Creazione 2. Apertura 3. Lettura/Scrittura 4. Chiusura Programmazione - Michele Colajanni, 2006/
6 Conseguenze dell apertura file Poiché un file è un entità del sistema operativo, per agire su di esso dall interno di un programma occorre stabilire una corrispondenza fra: il nome del file come risulta al sistema operativo un nome di variabile puntatore definita all interno del programma Questa operazione si chiama APERTURA DEL FILE, ed è necessaria per collegare il mondo esterno (del sistema operativo) con l ambiente del programma in esecuzione Programmazione - Michele Colajanni, 2006/ Conseguenze dell apertura file (cont.) Una volta aperto, il programma potrà poi agire sul file operando formalmente sulla variabile definita al suo interno Sarà il sistema operativo che provvederà ad effettuare realmente l operazione richiesta sul file associato a tale simbolo E possibile aprire più file contemporaneamente, associando ciascun file ad una variabile puntatore differente all interno del programma Programmazione - Michele Colajanni, 2006/
7 Apertura/creazione di un file Per aprire un file, la libreria stdio.h offre la funzione fopen(): FILE* fopen(char fname[ ], char modo[ ]) Apre il file su disco di pathname fname (è una stringa). Bisogna fare attenzione alle convenzioni dipendenti dal sistema operativo utilizzato (es., \ per i pathname di Windows oppure / per i pathname di Unix) L apertura avviene nel modo specificato (è una stringa) Restituisce un puntatore a FILE (che punta ad una struttura dati FILE appositamente creata in memoria centrale) Programmazione - Michele Colajanni, 2006/ Apertura/creazione di un file (cont.) fopen( file.dat, char modo[ ]) modo è una stringa di uno/due/tre caratteri che specifica come aprire il file: r apre in lettura (read): fopen( file.dat, r ) r+ apre in lettura/scrittura w crea in scrittura (write): fopen( file.dat, w ) Se il file esiste già, cancella tutti i dati senza avviso w+ crea in lettura/scrittura a apre o crea in aggiunta (append) alla fine del file a+ apre o crea in lettura e aggiunta (append) alla fine del file Programmazione - Michele Colajanni, 2006/ !!!
8 Apertura/creazione di un file (cont.) fopen( file.dat, char modo[ ]) I caratteri della stringa modo visti in precedenza possono essere seguiti opzionalmente dal carattere: t apertura del file in modalità testo (di default, quindi di solito si evita di indicarla). Es., fopen( file.dat, r ) = fopen( file.dat, rt ) b apertura del file in modalità binaria. Es., fopen( file.dat, rb ) Programmazione - Michele Colajanni, 2006/ Apertura/creazione di un file (cont.) Il valore restituito dafopen() è un puntatore a FILE, da usare in tutte le successive operazioni su quel file Tale puntatore è NULL in caso in cui l apertura sia fallita Vi sono molte più possibilità che fallisca l apertura di un file rispetto all allocazione di una struttura dinamica in memoria centrale QUINDI: prima di usare il file, controllare sempre il risultato di fopen() Programmazione - Michele Colajanni, 2006/
9 Esempi (apertura file testo) Apertura di un file di testo in lettura FILE *f; f = fopen("nomefile.dat","r"); Apertura di un file di testo in scrittura (= CREAZIONE di un file) FILE *f; f = fopen("nomefile.dat","w"); Apertura di un file di testo in aggiunta (in coda) FILE *f; f = fopen("nomefile.dat","a"); NOTA: La specifica del modo "t" (testo), essendo di default, di solito si omette Programmazione - Michele Colajanni, 2006/ Controllare l esito FILE *fp; fp = fopen("prova.txt","w"); if (fp==null) printf( Errore di apertura del file\n ); else { } NOTA: fopen() restituisce un puntatore NULL in caso di errore nell apertura del file (ad esempio, se non c è spazio su disco o il disco è protetto o il pathname è sbagliato) Programmazione - Michele Colajanni, 2006/
10 EOF La Standard I/O library mette a disposizione del programmatore anche EOF (=End Of File) A seconda del Sistema Operativo ci sono diverse combinazioni di tasti per inserire EOF da tastiera: Unix/Linux <return> <crtl> d Windows <ctrl> z Programmazione - Michele Colajanni, 2006/ Chiusura di un file Quando si è finito di operare su file, la corrispondenza interno-esterno dovrà essere eliminata mediante un operazione di CHIUSURA DEL FILE: int fclose(file*); ATTENZIONE Questa operazione garantisce che tutte le modifiche apportate sul file siano rese effettive a livello di disco. Nel caso in cui il programmatore dimentichi la chiusura, il sistema operativo la farà automaticamente al termine del programma (ma se il programma si interrompe ) Chiudere il file consente anche di recuperare risorse Programmazione - Michele Colajanni, 2006/
11 Due tipi di file Il modello di coordinazione della Standard I/O Library consente di distinguere fra: File di testo sequenza di caratteri File binario sequenza di byte Programmazione - Michele Colajanni, 2006/ FILE di testo
12 Operazioni sui file di testo Per operare sui file di testo, la libreria standard fornisce funzioni del tutto analoghe a quelle già viste per i canali di I/O predefiniti (tastiera e video): Input/Output a caratteri Input/Output a stringhe di caratteri Input/Output formattato A queste funzioni base, si aggiungono altre funzioni di utilità generale Programmazione - Michele Colajanni, 2006/ Ricordare Input/Output a caratteri int getchar(void); Legge un carattere, e restituisce il carattere letto (oppure EOF in caso di errore o di fine sequenza di input) int putchar(int c); Scrive un carattere, e restituisce il carattere scritto (o EOF se c è errore) Attenzione La funzione getchar() comincia a restituire caratteri solo quando è stato battuto INVIO da tastiera per inserire il carattere EOF. Per terminare la sequenza occorre digitare: <crtl> d (su Unix/Linux), <crtl> z (su Windows) Programmazione - Michele Colajanni, 2006/
13 Esempio Copiare l input standard (ciò che viene digitato sulla tastiera) sull output standard (il video) #include <stdio.h> main() { int c; while ((c = getchar())!= EOF) putchar(c); } Programmazione - Michele Colajanni, 2006/ Ricordare Input/Output a stringhe di caratteri char* gets(char s[ ]); legge una stringa da input (terminata da un newline) e la inserisce in s restituisce l indirizzo di s, oppure NULL (0) in caso di fine file o errore int puts(char s[ ]); scrive la stringa s sull output, aggiungendo un newline in fondo restituisce EOF in caso di errore, o un valore non negativo altrimenti Programmazione - Michele Colajanni, 2006/
14 Osservazione Dato che per ipotesi l I/O avviene leggendo e scrivendo caratteri, a rigore le uniche due funzioni indispensabili sono quelle per leggere e scrivere un singolo carattere Tutto il resto può essere costruito sopra di esse La scelta di fornire altre funzionalità (I/O a stringhe, I/O formattato) risponde quindi unicamente a criteri di comodità Programmazione - Michele Colajanni, 2006/ Confronto fra funzioni di I/O per console e per file di testo Funzioni console Funzioni per file int getchar(void); int putchar(int c); char* gets(char* s); int puts(char* s); int printf(char* fm, expr1,, exprn); int scanf(char* fm, addr1,...addrn); int fgetc(file* f); int fputc(int c, FILE* f); char* fgets(char* s, int n, FILE* f); int fputs(char* s, FILE* f); int fprintf(file* f, char*fm, expr1,...exprn); int fscanf(file* f, char* fm, addr1,...addrn); Programmazione - Michele Colajanni, 2006/
15 Funzioni di I/O per file di testo (cont.) getchar() fgetc(stdin) putchar(c) fputc(c,stdout) Altre funzioni feof() indica se si è incontrato l EOF rewind() riposiziona la testina di lettura/scrittura all inizio del file ftell() dà la posizione corrente della testina di lettura/scrittura nel file Programmazione - Michele Colajanni, 2006/ File ad accesso sequenziale feof() TRUE rewind() Programmazione - Michele Colajanni, 2006/
16 fflush() int fflush(file *f); Svuota la memoria tampone E buona norma di programmazione utilizzarlo prima della fclose() Quindi, la chiusura corretta è: fflush(fp); fclose (fp); Programmazione - Michele Colajanni, 2006/ Esercizio 1 Si memorizzi in un file di testo su disco tutto ciò che viene inserito da tastiera Programmazione - Michele Colajanni, 2006/
17 Esercizio 1 #include <stdio.h> main() { FILE *fp; fp = fopen("prova.txt","w"); if (fp==null) printf( Errore di apertura del file\n ); else { int c; while ((c=getchar())!=eof) fputc(c,fp); fclose(fp); } } ATTENZIONE: fopen() restituisce un puntatore NULL in caso di errore nell apertura del file (ad esempio, se non c è spazio su disco o il disco è protetto) Programmazione - Michele Colajanni, 2006/ Esercizio 2 Stampare a video il contenuto di un file di testo #include <stdio.h> main() { FILE *fp; fp = fopen("prova.txt","r"); if (fp==null) printf("errore di apertura del file\n"); else { int c; while ((c=fgetc(fp))!=eof) putchar(c); fclose(fp); } } Programmazione - Michele Colajanni, 2006/
18 Esercizio 3 Leggere da un file di testo dati.txt una sequenza di numeri interi di al più 100 elementi finché non si trova il primo elemento uguale a 0 (si ipotizza che un elemento uguale a 0 esista). Memorizzare tutti i numeri (escluso lo 0) in un vettore. continua Programmazione - Michele Colajanni, 2006/ main() { int vett[100], temp, i; FILE *puntf; puntf = fopen("dati.txt","r"); /* Attenzione al percorso */ if (puntf==null) printf("errore di apertura file\n"); else { i=0; /* Differenza fra primo elemento e altri */ fscanf(puntf, "%d", &temp); while (temp!=0) { vett[i]=temp; fscanf(puntf, "%d", &temp); i++; } fclose(puntf); } } Programmazione - Michele Colajanni, 2006/
19 Altre versioni ESERCIZIO 3.b: Leggere da un file di testo dati.txt una sequenza di numeri interi terminata da 0. Memorizzare in un vettore tutti i numeri negativi. ESERCIZIO 3.c: Leggere da un file di testo dati.txt una sequenza di numeri interi terminata da 0. Memorizzare in un vettore tutti i numeri compresi tra 30 e +30 escluso lo 0. Ordinare il vettore in modo crescente e stampare tutti i numeri positivi. ESERCIZIO 3.d: Leggere da un file di testo dati.txt una sequenza di caratteri terminata da *. Memorizzare in un vettore tutti i caratteri alfabetici. Programmazione - Michele Colajanni, 2006/ Esercizio 4 Scrivere in un file di testo valori_pos.txt tutti i numeri strettamente positivi di un vettore contenente 100 valori interi. Alla fine, inserire il valore -1 Programmazione - Michele Colajanni, 2006/
20 Esercizio 4 main() { int vett[100], temp, i; FILE *puntf; puntf = fopen("valori_pos.txt","w"); if (puntf==null) printf("errore di apertura file\n"); else { for (i=0; i<100; i++) if vett[i]>0 fprintf(puntf, "%d \n", vett[i]); fprintf(puntf, "%d \n", -1); } fclose(puntf); } Programmazione - Michele Colajanni, 2006/ Altri esercizi ESERCIZIO 4.b: Scrivere in un file di testo carat.txt tutti i caratteri di una stringa letta da input. Terminare la sequenza di caratteri del file con *. ESERCIZIO 4.c: Leggere da un file di testo dati_inp.txt una sequenza di numeri interi terminata da 0, e copiare in un vettore solo gli elementi positivi. Copiare tutti i valori del vettore compresi fra 10 e 100 in un file di testo dati_out.txt. ESERCIZIO 4.d: Come l esercizio 4.c. In più, stampare su schermo il contenuto del file dati_out.txt. [ Ricordare l uso di EOF: while (fscanf(puntf, %d,&temp)!=eof) printf(..); ] Programmazione - Michele Colajanni, 2006/
21 I/O standard File di I/O Il linguaggio C utilizza tre file che risultano aperti automaticamente, quando il programma include le relative librerie: Standard input (tipicamente tastiera): stdio Standard output (tipicamente video): stdout Standard error (tipicamente terminale): stderr Si accede a questi file tramite funzioni apposite, ma potrebbero anche essere utilizzati come file (con i nomi indicati sopra) Programmazione - Michele Colajanni, 2006/
22 FILE binari File binari Mentre il file di testo è una sequenza di caratteri, un file binario è una sequenza di byte Viene usato in C per archiviare su memoria di massa qualunque tipo di informazione che non sia un testo, in particolare: valori numerici (int, float, double, ) tipi definiti dall utente (struct, vettori, ) Programmazione - Michele Colajanni, 2006/
23 Nota Un file binario potrebbe anche essere usato per archiviare testi ma solitamente non conviene farlo, perché le funzioni disponibili per l I/O da file di testo sono più sofisticate e semplici da utilizzare di quelle disponibili per l I/O da file binario Programmazione - Michele Colajanni, 2006/ Operazioni su file binari Per operare sui file binari, la libreria standard I/O fornisce due funzioni: fread(), per leggere una sequenza di byte fwrite(), per scrivere una sequenza di byte Programmazione - Michele Colajanni, 2006/
24 fwrite() int fwrite(addr, int dim, int n, FILE *f); Scrive sul file n elementi, ognuno grande dim byte. Complessivamente, scrive n dim byte Gli elementi da scrivere vengono prelevati in memoria a partire dall indirizzo addr Come risultato, questa funzione restituisce il numero di elementi (non di byte!) effettivamente scritti (possono anche essere meno di n) Programmazione - Michele Colajanni, 2006/ fread() int fread(addr, int dim, int n, FILE *f); Legge dal file n elementi, ognuno grande dim byte (complessivamente, tenta di leggere n dim byte) Gli elementi da leggere vengono posti in memoria a partire dall indirizzo addr Restituisce il numero di elementi (non di byte!) effettivamente letti (possono essere meno di n, al limite anche zero in caso di fine file) Programmazione - Michele Colajanni, 2006/
25 Un problema noto Se bisognasse allocare 10 variabili int, quale valore indichiamo in dim? int fwrite(addr, int dim, int n, FILE *f); Al solito, dipende dall architettura e compilatore utilizzato Programmazione - Michele Colajanni, 2006/ una soluzione nota Per la portabilità dei programmi, come parametro di fwrite() e fread() conviene non utilizzare mai valori numerici assoluti! Conviene, invece, utilizzare: sizeof(<tipo di dato T>) Restituisce la quantità di memoria richiesta (in byte) per memorizzare valori di tipo T. Es., sizeof(int) Programmazione - Michele Colajanni, 2006/
26 Esercizio 1 Salvare su un file binario il contenuto di un vettore di 10 valori reali a doppia precisione Programmazione - Michele Colajanni, 2006/ #include <stdio.h> #include <stdlib.h> main() Esercizio 1 { FILE *fp; double vet[10]={1.2, 21.3, 1.5, 1.4, 9.5, 1.6, -8.7, -8., 4.3, 9.1}; } fp = fopen("numeri.dat","wb"); if (fp==null) printf("errore di apertura file\n"); else { fwrite(vet, sizeof(double), 10, fp); fclose(fp); } Perché basta il nome? Programmazione - Michele Colajanni, 2006/
27 Note sull esercizio Essendo vet il nome di un vettore, rappresenta già un indirizzo, quindi non occorre ricavarlo con l operatore & L operatore sizeof() è essenziale perché il programma sia portabile da una piattaforma all altra (si calcola il numero di byte per memorizzare un double a tempo di esecuzione) Si sarebbe anche potuto fare un ciclo di dieci fwrite(), uno per ogni double da scrivere, ma sarebbe stato inutilmente inefficiente nel caso di file binari (mentre sarebbe stato necessario nell eventualità di uso di file di testo) Programmazione - Michele Colajanni, 2006/ Confronto file testo vs. file binario (Scrivere su file un vettore di 100 elementi int) int vett[100]; FILE *puntf; puntf = fopen("valori_pos","w"); if (puntf==null) printf("errore di apertura file\n"); else for (i=0; i<100; i++) fprintf(puntf, "%d \n", vett[i]); file testo puntf = fopen("valori_pos","wb"); if (puntf==null) printf("errore di apertura file\n"); else fwrite(vett, sizeof(int), 100, puntf); file binario Programmazione - Michele Colajanni, 2006/
28 Esercizio 2 Leggere da un file binario il contenuto di un vettore di 50 valori int ed inserirli in un array Programmazione - Michele Colajanni, 2006/ #include <stdio.h> #include <stdlib.h> Esercizio 2 main() { FILE *fp; int vet[50]; fp = fopen("numeri.dat", rb"); if (fp==null) printf("errore di apertura file\n"); else { fread(vet, sizeof(int), 50, fp); fclose(fp); } } Programmazione - Michele Colajanni, 2006/
29 Risultato di fwrite() e fread() La funzione fwrite() restituisce il numero di elementi (non di byte!) effettivamente scritti che potrebbero essere meno di quelli specificati La funzione fread() restituisce il numero di elementi (non di byte!) effettivamente letti che potrebbero essere meno di quelli specificati Se restituiscono 0 (o in alcuni linguaggi C, un valore negativo), ci sono stati problemi in lettura o scrittura E buona norma di programmazione utilizzare il valore restituito, prendendo eventuali provvedimenti Programmazione - Michele Colajanni, 2006/ #include <stdio.h> #include <stdlib.h> Esempio main() { FILE *fp; int i; double vet[10]={1.2, 21.3, 1.5, 1.4, 9.5, 1.6, -8.7, -8., 4.3, 9.1}; fp = fopen("numeri.dat","wb"); if (fp==null) printf("errore di apertura file\n"); else { i=fwrite(vet, sizeof(double), 10, fp); if (i<=0) printf("errore in scrittura\n"); else printf( Sono stati scritti %d elementi\n, i); fclose(fp); } } Molto utile anche per controllo Programmazione - Michele Colajanni, 2006/
30 File ad accesso casuale I file binari sono alla base della realizzazione di file ad accesso casuale A differenza dei file ad accesso sequenziale, i record dei file ad accesso casuale hanno la stessa dimensione Poiché ogni record ha la stessa lunghezza, la posizione di un record i-esimo all interno del file può essere calcolata semplicemente. Quindi, è possibile accedere all i-esimo record senza dover leggere i precedenti (i-1) record Se [1 record = 4 byte] posizione del 5 record = 20 byte Programmazione - Michele Colajanni, 2006/ Funzioni per l accesso casuale fseek() sposta la testina di lettura/scrittura in una posizione a scelta nel file ftell() restituisce la posizione attuale Programmazione - Michele Colajanni, 2006/
31 fseek() int fseek(file *f, int pos, int K); pos denota lo spostamento in byte (può essere anche un valore negativo) K denota un parametro che può avere tre valori: SEEK_SET (spostamento a partire dall inizio del file) 0 SEEK_CUR (spostamento a partire dalla posizione attuale) 1 SEEK_END (spostamento a partire dalla fine del file) 2 fseek() restituisce 0 se lo spostamento avviene con successo, altrimenti restituisce un valore negativo (-1) Programmazione - Michele Colajanni, 2006/ Esempio fseek(fp, 5, SEEK_CUR) Che tipo di dati sono memorizzati nel file? Programmazione - Michele Colajanni, 2006/
32 ftell() int ftell(file *f); Restituisce la posizione della testina di lettura/scrittura nel file *f Il valore della posizione è assoluto, cioè riferito all inizio del file Se si verifica un errore, viene restituito in valore negativo: -1 Programmazione - Michele Colajanni, 2006/ FILE e struct
33 File e struct I file ed in particolare i file binari sono la struttura dati principale per gestire grandi quantità di dati eterogenei, quali quelli che tipicamente si riferiscono ad archivi (per es., l anagrafe) Esempio: scrivere un nome sul file agenda Programmazione - Michele Colajanni, 2006/ main() { struct persona { char nome[20]; char cognome[20]; int telefono; } struct persona *p; FILE *puntf; [ ] puntf = fopen( agenda.txt", w"); if (puntf==null) printf("errore di apertura file\n"); else { fprintf(puntf, "%s,%s,%d", p->scheda.nome, p->scheda.cognome, p telefono); fclose(puntf); } } Programmazione - Michele Colajanni, 2006/
34 In memoria centrale: Array di struct Strutture dati utilizzate In memoria secondaria: File con record di struct Programmazione - Michele Colajanni, 2006/ Rappresentazione struct persona { char codice[7]; char Nome[20]; char Cognome[20]; int Reddito; int Aliquota; } ; Elemento univoco typedef struct persona Persona; Programmazione - Michele Colajanni, 2006/
35 Esempio funzione ricerca elemento su file #include <stdio.h> #include <ctype.h> FILE *fp; int ricerca_file(char *Name, char K[ ], Persona *P) { int i=0, trovato=0; if ((fp=fopen(name,"rb"))==null) printf( Errore\n ); else while (fread(p, sizeof(persona), 1, fp)>0 &&!trovato) if (strcmp(p->chiave, K)==0) trovato=1; return (trovato); } Programmazione - Michele Colajanni, 2006/ Osservazioni conclusive I file sono una delle struttura dati fondamentali per la soluzione di problemi reali Infatti, nella maggior parte dei casi reali, i dati non si leggono da input e non si stampano su video, ma si leggono da file e si salvano su file Per questo motivo, si rende necessario gestire grandi quantità di dati su supporti di memoria secondaria in modo molto efficiente TEORIA E PRATICA DELLE BASI DI DATI (2 anno) I file saranno sempre inseriti nella prova pratica dell esame di Programmazione, quindi Programmazione - Michele Colajanni, 2006/
Struttura dati FILE. Concetto di FILE
Struttura dati FILE Concetto di FILE Per poter mantenere disponibili dei dati tra diverse esecuzioni di un programma (PERSISTENZA dei dati), è necessario poterli archiviare su memoria di massa. Un file
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
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
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. 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 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
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
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
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
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
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
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
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
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
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
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
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
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:
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
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
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
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 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
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 Gestione dei file in C In C all interno della standard library
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
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
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,
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
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
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 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 è
DettagliStrutture Dati Dinamiche
Strutture Dati Dinamiche Motivazioni Le variabili considerate fino a questo punto devono essere dichiarate staticamente, ossia la loro esistenza, il loro nome e la loro dimensione devono essere previsti
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. 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
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
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
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 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
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
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
DettagliGESTIONE DEI FILE IL CONCETTO DI 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
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
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
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
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
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
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ì
DettagliUna testina di lettura/scrittura (ideale) indica in ogni istante il record corrente:
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 dal sistema
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
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
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
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)
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
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,
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
DettagliA. Ferrari. File. in C
File in C stream - flussi in C la gestine dei file avviene attravers un fluss di cmunicazine per utilizzare un file è necessari dichiarare una variabile di tip puntatre al file (ad un ggett di tip FILE)
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
DettagliGESTIONE DEI FILE. I file possono essere manipolati (aperti, letti, scritti ) all interno di programmi C. dischi nastri cd
Per poter mantenere disponibili i dati tra le diverse esecuzioni di un programma (persistenza dei dati) è necessario poterli archiviare su memoria di massa. dischi nastri cd GESTIONE DEI FILE I file possono
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
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
DettagliFILE BINARI. I file di testo non sono indispensabili: sono semplicemente comodi!
FILE BINARI Un file binario è una pura sequenza di byte, senza alcuna strutturazione particolare. È un'astrazione di memorizzazione assolutamente generale, usabile per memorizzare su file informazioni
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
DettagliEsercitazione 11. Liste semplici
Esercitazione 11 Liste semplici Liste semplici (o lineari) Una lista semplice (o lineare) è una successione di elementi omogenei che occupano in memoria una posizione qualsiasi. Ciascun elemento contiene
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
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
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
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
DettagliLA LIBRERIA STANDARD DEL C
LA LIBRERIA STANDARD DEL C La libreria standard del C La libreria standard del C è in realtà un insieme di librerie Per usare una libreria, non occorre inserirla esplicitamente. Ogni file sorgente che
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,
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 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
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
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
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.
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
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
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
DettagliFILE BINARI. I file di testo non sono indispensabili: sono semplicemente comodi 1
FILE BINARI Un file binario è una pura sequenza di byte, senza alcuna strutturazione particolare È un'astrazione di memorizzazione assolutamente generale, usabile per memorizzare su file informazioni di
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
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
DettagliEsercitazione 6. Array
Esercitazione 6 Array Arrays Array (o tabella o vettore): è una variabile strutturata in cui è possibile memorizzare un numero fissato di valori tutti dello stesso tipo. Esempio int a[6]; /* dichiarazione
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
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,
DettagliTrasformare array paralleli in array di record
Trasformare array paralleli in array di record Un array è una struttura di dati omogenea: gli elementi dell array sono tutti dello stesso tipo (che è il tipo dell array). A volte è necessario gestire informazioni
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
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
DettagliELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli
ELEMENTI DI INFORMATICA L-B Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Testi di esami precedenti Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del
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
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
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
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Funzioni standard del C: Funzioni di I/O Allocazione dinamica della memoria Funzioni su stringhe di caratteri Testo di riferimento B.W. Kernighan & D.M. Ritchie
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
DettagliElementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I
Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave
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
DettagliIntroduzione alla programmazione in linguaggio C
Introduzione alla programmazione in linguaggio C Il primo programma in C commento Header della libreria Funzione principale Ogni istruzione in C va terminata con un ; Corso di Informatica AA. 2007-2008
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
DettagliStruttura a record. File ad accesso diretto. Modalità di apertura. Modalità di apertura
Struttura a record 2 File ad accesso diretto Il file è organizzato in record aventi tutti la stessa struttura e quindi dimensione record 0 record 1 record 2 Ver. 2.4 2010 - Claudio Fornaro - Corso di programmazione
Dettagli