Linguaggio C Gestione File
|
|
- Sabina Serra
- 7 anni fa
- Visualizzazioni
Transcript
1 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 C, un file è visto come un flusso (stream) sequenziale di byte che termina con un marcatore di EOF (end-of-file). I programmi C possono accedere a file (leggere e scrivere) mediante le funzioni standard definite nella libreria di I/O "stdio.h". Ogni programma vede il file come una sequenza di componenti omogenee (record logici). In C i file si possono dividere in due categorie: file di testo : costituiti da caratteri ed organizzati in linee (ciascuna terminata da '\n'). file binari : visti come sequenze di byte. Nel primo caso, abbiamo file di caratteri, organizzati in linee; ogni linea è terminata da una marca di fine linea (newline, carattere '\n'). Il record logico può essere il singolo carattere oppure la singola linea. Nota: I file hanno una struttura sequenziale, cioè i record logici sono organizzati in una sequenza rigidamente ordinata; per accedere ad un particolare record logico è necessario "scorrere" tutti quelli che lo precedono.
2 In corrispondenza di file, le classiche operazioni sono: Apertura di un file: prima di accedere ad un file è necessario aprirlo; l operazione di apertura compie le azioni preliminari necessarie affinchè il file possa essere acceduto. Accesso ad un file: una volta aperto il file, è possibile leggere/scrivere il file. Chiusura di un file: alla fine delle operazioni (lettura o scrittura) è necessario chiudere il file per memorizzare permanentemente il suo contenuto in memoria di massa. Per aprire un file in C è necessario definire una variabile di tipo puntatore a file: // FILE : tipo non primitivo definito in stdio.h FILE *fopen(char *name, char *mode); // funzione di apertura file. dove: name: è una stringa che rappresenta il nome (assoluto o relativo) del file nel file system. mode: esprime la modalità di accesso scelta. L'operazione di apertura (se eseguita con successo) ritorna come risultato un puntatore al file aperto; Se l'apertura fallisce, fopen restituisce il valore NULL. Tipici motivi di fallimento: - Il file non esiste. - Il file viene aperto in una modalità incompatibile con le sue proprietà ( es.: file read-only, aperto in scrittura)
3 Modalità di apertura: r : solo lettura - sul file sarà possibile eseguire soltanto operazioni di lettura (no scrittura). Se il file non esiste la funzione fopen ritornerà il codice di errore NULL. w : solo scrittura - sul file sarà possibile eseguire soltanto operazioni di scrittura (no lettura). Se il file non esiste verrà creato, altrimenti il contenuto del file preesistente sarà perso. r+ : lettura e scrittura - sul file sarà possibile eseguire operazioni di lettura e scrittura. Se il file non esiste la funzione fopen ritornerà il codice di errore NULL. w+ : scrittura e lettura - sul file sarà possibile eseguire operazioni di scrittura e lettura. Se il file non esiste verrà creato, altrimenti il contenuto del file preesistente sarà perso. a : append - sul file sarà possibile eseguire soltanto operazioni di scrittura a fine file, ovvero tutte le scritture verranno eseguite in coda al contenuto attuale del file. Se il file non esiste verrà creato, in caso contrario il contenuto del file preesistente verrà mantenuto. a+ : append e lettura - come append con l aggiunta della lettura. b : binary - se una b viene aggiunta alle modalità precedenti si indica che il file è binario. Es.: apertura di file in lettura: fp = fopen("filename", "r"); EOF fp
4 Es.: apertura di file in scrittura: fp = fopen("filename", "w"); File nuovo: File esistente - sovrascritto: EOF fp fp Es.: apertura di file in append: fp = fopen("filename", "a"); Esempio pratico: File *fp; fp=fopen("elenco.dat", "r"); Nota: fp rappresenta, dall'apertura in poi, il riferimento da utilizzare nelle operazioni di accesso al file specificato (elenco.dat); esso individua: - il file - l elemento corrente all interno del file EOF fp
5 Chiusura file: Al termine delle operazioni di accesso al file, esso deve essere chiuso. L'operazione di chiusura si realizza con la funzione: int fclose(file *fp); // dove fp è il puntatore al file da chiudere. La funzione fclose ritorna il valore 0 se la chiusura è avvenuta correttamente, altrimenti la costante EOF. Esempio: Funzione feof(): #include <stdio.h> int main() { fp = fopen("c:\\documenti\\risultati.txt", "w"); // fp = fopen("c:/documenti/risultati.txt", "w"); notazione linux/unix // operazioni di scrittura su file fclose(fp); return 0; Durante la fase di accesso ad un file, questa funzione ci consente di verificare la presenza della marca di fine file; prototipo: int feof(file *fp); In altre parole, controlla se è stata raggiunta la fine del file fp nella operazione di lettura o scrittura precedente. Restituisce il valore 0 se non è stata raggiunta la fine del file, altrimenti un valore diverso da zero.
6 File standard di I/O: Quando inizia l esecuzione di un programma in C, tre file di testo vengono aperti automaticamente: stdin, standard input, aperto in lettura stdout, standard output, aperto in scrittura stderr, standard error, aperto in scrittura Dove stdin, stdout, stderr sono variabili di tipo puntatore a file, automaticamente (ed implicitamente) definite. Il file pointer stdin è associato dal sistema alla tastiera, mentre gli altri due sono assegnati al video. Lettura e scrittura di file: Dopo aver aperto un file, su di esso possiamo eseguire operazioni di lettura e/o scrittura, compatibilmente con quanto specificato in fase di apertura. File di testo: sono disponibili funzioni di: a) Lettura/scrittura con formato: fscanf, fprintf b) Lettura/scrittura di caratteri: fgetc, fputc c) Lettura/scrittura di stringhe di caratteri: fgets, fputs. File binari: si utilizzano funzioni di lettura/scrittura di blocchi: fread, fwrite.
7 a) Lettura/scrittura con formato: Date le funzioni scanf e printf, esistono le rispettive versioni che operano su file in maniera esattamente uguale; presentano un parametro aggiuntivo per il puntatore al file di testo sul quale si vuole leggere o scrivere. int fscanf(file *fp, stringa_formato, indir_elementi); int fprintf(file *fp, stringa_formato, elementi); Le due funzioni restituiscono rispettivamente il numero di elementi letti/scritti; oppure un valore negativo in caso di errore. Esempi: int X; char Y; float Z; fp=fopen("risultati.txt", "r"); fscanf(fp, "%d %c %f", &X, &Y, &Z); prinf("x= %d Y= %c Z= %f", X, Y, Z); fclose(fp);. Si noti che: scanf(stringa_formato, indir_elementi); printf(stringa_formato, elementi); equivalgono a: int X=6; char Y='h'; float Z=9.8; fp=fopen("risultati.txt", "w"); fprintf(fp, "%d %c %f", X, Y, Z); fclose(fp);. fscanf(stdin, stringa_formato, indir_elementi); fprintf(stdout, stringa_formato, elementi);
8 // Visualizzazione contenuto di un file testo #include <stdio.h> int main() { char buf[80]; fp=fopen("testo.txt", "r"); if(fp!= NULL) { while(!feof(fp)) { if(fscanf(fp,"%s",buf) > 0) printf("%s ", buf); fclose(fp); else printf("errore apertura file! " ); return 0; Oppure:. if (fp!= NULL) { while (fscanf(fp,"%s", buf)>0) printf("%s ", buf); fclose(fp) else printf ("Errore apertura file! " ); // Scrittura su file testo: elenco nominativi #include <stdio.h> #include <string.h> int main() { char item[80]; fp=fopen("testo.txt", "w"); if(fp!= NULL) { printf("inizio inserimento (0 - per finire):\n"); printf("nominativo: "); scanf("%s", item); while(strcmp(item,"0")!= 0) { fprintf(fp, "%s\n", item); printf("nominativo: "); scanf("%s", item); fclose(fp); else printf("errore apertura file!" ); return 0;
9 b) Lettura/scrittura di caratteri: Funzioni simili a getchar e putchar, ma con un parametro aggiuntivo che rappresenta il puntatore al file sul quale si vuole leggere o scrivere: int fgetc (FILE *fp); ( esiste anche la getc() ) int fputc (int c, FILE *fp); ( esiste anche la putc() ) Nota: In caso di esecuzione corretta, restituiscono rispettivamente il carattere letto o scritto come intero (no char), altrimenti EOF. Esempi: int c; // apertura file c = fgetc(fp); int c = 'A'; // apertura file fputc(c, fp); Esercizio: in aggiunta all esempio a fianco, far scrivere i caratteri in un altro file. // Conta numero di caratteri numerici in un file. #include <stdio.h> int main() { int c, nc=0; fp = fopen("c:\\documenti\\risultati.txt", "r"); if(fp!= NULL) { while( (c=fgetc(fp))!= EOF ) if ( (c >= '0') && (c <= '9') ) nc++; printf("numero di caratteri numerici: %d", nc); fclose(fp); else printf("errore apertura file!" ); return 0;
10 c) Lettura/scrittura di stringhe di caratteri: in questo caso abbiamo funzioni simili a gets e puts: char *fgets(char *s, int n, FILE *fp); Trasferisce nella stringa s i caratteri letti dal file puntato da fp; i caratteri trasferiti sono n-1 oppure un numero inferiore se si incontra newline o la fine del file. La funzione fgets restituisce il puntatore a carattere: coincide con la stringa letta se tutto è andato bene, vale NULL in caso di errore o il file pointer sia a fine file. La funzione aggiunge automaticamente il carattere di fine stringa \0. int *fputs(char *s, FILE *fp); Trasferisce la stringa s nel file puntato da fp. Non copia il carattere terminatore \0 nè aggiunge un newline finale. La funzione restituisce l'ultimo carattere scritto in caso di terminazione corretta; EOF altrimenti. Esercizio1: creare un programma conta caratteri che: - Usi le funzioni fgets() e fputs(); - Prenda in input un file di testo (input.txt); - Per ogni riga calcoli il numero dei caratteri presenti nella riga; - Scriva la riga su un altro file (output.txt) aggiungendo il numero dei caratteri calcolato. Esercizio2: creare un programma che conti le righe di un file passato da riga di comando.
11 Lettura/scrittura di blocchi (file binari): Da un file binario possiamo leggere/scrivere un intero blocco di dati. Esso deve essere aperto in modalità binaria ("b"). Un file binario memorizza dati di qualunque tipo, in particolare dati che non sono caratteri (interi, reali, vettori o strutture). Nota: Il test di fine del file viene ottenuto con la funzione feof. int fread(void *vet, int size, int n, FILE *fp); La funzione fread legge n "elementi" dal file puntato da fp inserendoli nel vettore vet, ciascuno di dimensione size. Restituisce un intero che rappresenta il numero di elementi effettivamente letti. Esempio:. int vet[10], x; fp=fopen("valori.txt", "rb"); x=fread(vet, sizeof(int),10, fp); printf("valori effettivamente letti: %d\n", x); for (i=0; i<10; i++) printf("%d ",vet[i]);
12 int fwrite(void *vet, int size, int n, FILE *fp); La funzione fwrite scrive sul file puntato da fp n elementi del vettore vet, ciascuno di dimensione size. Restituisce un intero che rappresenta il numero di oggetti effettivamente scritti (inferiore ad n solo in caso di errore). Esempio: Oppure:. int vet[10]; int i, x=0; for (i=0; i<10; i++) vet[i]=i; fp=fopen("valori.txt", "wb"); x=fwrite(vet, sizeof(int),10, fp); printf("valori effettivamente scritti: %d\n", x);. fp=fopen("valori.txt", "wb"); for(i=0; i<10; i++) x += fwrite(&i, sizeof(int),1, fp);. Esercizio: programma che richieda in input il nome di un file e scriva in questo file un vettore di float.
13 /* Programma che scrive una sequenza di record (dati da input) in un file binario */ #include<stdio.h> typedef struct { char nome[20]; char cognome[20]; int eta; persona; int main() { persona p; int fine=0; if((fp=fopen("elenco.dat","wb"))!= NULL) { do { printf("dati persona?"); scanf("%s%s%d",p.nome, p.cognome, &p.eta); fwrite(&p,sizeof(persona),1,fp); printf("fine (si=1,no=0)?"); scanf("%d", &fine); while(fine == 0); fclose(fp); else printf("errore apertura file!" ); return 0; /* Programma che legge e stampa il contenuto di un file binario */ #include<stdio.h> typedef struct { char nome[20]; char cognome[20]; int eta; persona; int main() { persona p; if((fp=fopen("elenco.dat","rb"))!= NULL) { fread(&p, sizeof(persona),1, fp); while(!feof(fp)) { printf("%s %s %d\n",p.nome, p.cognome, p.eta); fread(&p,sizeof(persona),1,fp); fclose(fp); else printf("errore apertura file!" ); return 0; Oppure: if((fp=fopen("elenco.dat","rb"))!= NULL) { while(1) { if(fread(&p,sizeof(persona),1,fp) == 0) break; printf("%s %s %d\n",p.nome, p.cognome, p.eta);
14 Funzione fseek(): In C, oltre al modo sequenziale è possibile operare su file di byte anche in modalità random. La funzione fseek permette di muovere il puntatore di lettura/scrittura in una qualunque posizione all interno del file. int fseek(file *fp, long offset, int whence); fp : è il file pointer; offset : indica di quanti byte il file pointer deve essere spostato; se negativo lo spostamento è all indietro. whence : indica a partire da quale posizione muovere il file pointer: 0 (SEEK_SET) : inizio file 1 (SEEK_CUR): posizione corrente 2 (SEEK_CUR): fine file. La funzione fseek ritorna un valore negativo se si è verificato un errore, altrimenti uguale o maggiore di 0. Es.: int err, mode=0; FILE *fp ; long n=10l ; err = fseek(fp, n, mode) ; // il file pointer è posizionato sul decimo byte. La funzione ftell() ritorna la posizione corrente del file pointer (fp): long ftell(file *fp); Es.: FILE *fp ; long n; n = ftell(fp) ; Nota: la ftell ritorna il numero di byte dall inizio del file fino alla posizione corrente.
15 Funzione fflush(): In genere le operazioni di lettura/scrittura lavorano in modalità bufferizzata; ad esempio le operazioni di scrittura non vengono singolarmente eseguite su disco, ma vengono temporaneamente memorizzate su dei buffers per ottimizzare le prestazioni. Anche in fase di lettura da disco il sistema cerca di trasferire in memoria centrale una quantità di informazioni superiore a quella richiesta dal programmatore, al fine di ridurre il numero di letture e quindi di accesso a disco. Al momento della chiusura di un file o al termine dell esecuzione del programma il contenuto dei buffer viene scaricato su disco. La funzione fflush() assolve il compito di scaricare il contenuto del buffer associato al file pointer; es.: fp = fopen("nomefile", "w"); fprint(fp, "stringa di testo");... fflush(fp); Per disabilitare la bufferizazzione su di un file pointer (fp), si può usare la funzione: setbuf(fp, NULL); ad esempio per lo standard di output: setbuf(stdout, NULL);
16 Esercizi: - Programma che concateni due file binari, i cui nomi sono passati come parametri. - Programma "copyfile" che faccia la copia (testo/binaria) di un file in un altro, acquisiti come parametri; esempio esecuzione: copyfile.exe nomefile1 nomefile2
Fondamenti di Informatica T. Linguaggio C: File
Linguaggio C: File I File Il file e` l'unita` logica di memorizzazione dei dati su memoria di massa, che consente una memorizzazione persistente dei dati, non limitata dalle dimensioni della memoria centrale.
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
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
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
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 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
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:
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
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
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. 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
DettagliGestione dei File in C
Gestione dei File in C Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania mpalesi@diit.unict.it http://www.diit.unict.it/users/mpalesi Sommario In questo documento saranno introdotte
DettagliIntroduzione al C. 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
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
DettagliSono file di caratteri, organizzati in linee. Ogni linea è terminata da un marcatore di fine linea (newline, carattere \n ).
I file Il file è l unità logica di memorizzazione dei dati su memoria di massa. Consente una memorizzazione persistente dei dati, non limitata dalle dimensioni della memoria centrale. Generalmente un file
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
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
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
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
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
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
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
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
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
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
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
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
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,
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
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
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/
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,
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 file
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
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
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
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
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
DettagliEsercizi di programmazione in linguaggio C English Dictionary
Esercizi di programmazione in linguaggio C English Dictionary Il file di testo wordnet.txt contiene un certo numero di parole (word) e il corrispondente significato (meaning) secondo il seguente formato:
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
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,
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
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
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
DettagliFondamenti di Informatica. Tecniche di input/output per l'accesso ai file
Corso di per il corso di Laurea di Ingegneria Meccanica Tecniche di input/output per l'accesso ai file Università degli Studi di Udine - A.A. 2010-2011 Docente Ing. Sandro Di Giusto Ph.D. 1 L'importanza
DettagliSTRINGHE: ARRAY DI CARATTERI! 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ù
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)
DettagliLibrerie C. Corso di Linguaggi e Traduttori 1 AA
Corso di Linguaggi e Traduttori 1 AA 2004-05 1 Corso di Linguaggi e Traduttori 1 AA 2004-05 stdio.h 2 Funzioni comunidi I/O? Le piu' comuni funzioni che permettono I/O sono getchar() e putchar():? int
DettagliLinguaggio C La libreria standard
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C La libreria standard 2001 Pier Luca Montessoro - Davide Pierattoni
DettagliI File. I file vengono distinti in due categorie: ILOHGLWHVWR costituiti da caratteri ed organizzati in linee (ciascuna terminata da \n ) )LOHGLWHVWR
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
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
DettagliLinguaggio C: Stringhe di caratteri e File
Linguaggio C: Stringhe di caratteri e File ESEMPIO: Lettura da tastiera e stampa a video di una sequenza di caratteri #include main() int c; printf("inserisci dei caratteri"); printf("(
DettagliFormattazione avanzata. I/O Avanzato e File. Formattazione dell output. Formattazione avanzata. Forma completa degli specificatori
Formattazione avanzata Modificatori di o in output Modificatori di o in input Stream predefiniti I/O Avanzato e File 2 Formattazione dell output Formattazione avanzata L output (su schermo o su file) viene
Dettagli---------------------------------------------------------------- Puntatori a funzione. In C è possibile utilizzare dei puntatori a funzioni, ovvero
---------------------------------------------------------------- Puntatori a funzione. In C è possibile utilizzare dei puntatori a funzioni, ovvero delle variabili a cui possono essere assegnati gli indirizzi
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
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
DettagliLe funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni
Funzioni Le funzioni Con il termine funzione si intende, in generale, un operatore che, applicato a un insieme di operandi, consente di calcolare un risultato, come avviene anche per una funzione matematica
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
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
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
DettagliEsercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Si ringrazia Raffaele Nicolussi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it
DettagliEsercizio 1 Liste: calcolo perimetro di un poligono
Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 12 Esercitazione: 28 gennaio 2005 Esercizi su liste, ricorsione, file. Scaletta Esercizio 1 Liste: calcolo perimetro di
DettagliGESTIONE DEI FILE IL CONCETTO DI FILE APERTURA E CHIUSURA DI UN FILE OPERARE SUI FILE
GESTIONE DEI FILE Per poter mantenere disponibili i dati tra le diverse esecuzioni di un programma (persistenza dei dati) è necessario poterli archiviare su memoria di massa Un file è una astrazione fornita
DettagliELEMENTI DI INFORMATICA 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
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
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
DettagliSe vogliamo cambiarlo: i dati vengono sovrascritti. 300 White Jones (vecchio valore) 300 Worthington 0.00
File position pointer File position pointer Indica la posizione da cui leggere/scrivere i prossimi byte Non un puntatore, ma un valore intero (specifica la posizione dall inizio file in termini di numero
DettagliIntroduzione al Linguaggio C
Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C
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
DettagliCaratteri e stringhe
Caratteri e stringhe Vettori di caratteri Il tipo stringa Terminatore nullo Input/output di stringhe 2 Vettori di caratteri Stringhe in C Nel linguaggio C non è supportato esplicitamente alcun tipo di
Dettagligiapresente( ) leggi( ) char * strstr(char * cs, char * ct) NULL
Materiale di ausilio utilizzabile durante l appello: tutto il materiale è a disposizione, inclusi libri, lucidi, appunti, esercizi svolti e siti Web ad accesso consentito in Lab06. L utilizzo di meorie
DettagliCaratteri e stringhe. Vettori di caratteri. Il tipo stringa Terminatore nullo Input/output di stringhe Politecnico di Torino 1
Caratteri e stringhe Il tipo stringa Terminatore nullo Input/output di stringhe 2 2006 Politecnico di Torino 1 Stringhe in C Nel linguaggio C non è supportato esplicitamente alcun tipo di dato stringa
DettagliVettori di caratteri. Caratteri e stringhe. Stringhe in C. Vettori di caratteri. char saluto[10] ; B u o n g i o r n o 4. Esempio.
Vettori di caratteri Il tipo stringa Terminatore nullo Input/output di stringhe Caratteri e stringhe 2 Stringhe in C Vettori di caratteri Nel linguaggio C non è supportato esplicitamente alcun tipo di
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
DettagliPROVA SCRITTA DEL CORSO DI CORSO DI LAUREA IN INGEGNERIA BIOMEDICA ED ELETTRICA 17/2/2009
PROVA SCRITTA DEL CORSO DI CORSO DI LAUREA IN INGEGNERIA BIOMEDICA ED ELETTRICA 7/2/2009 MOTIVARE IN MANIERA CHIARA LE SOLUZIONI PROPOSTE A CIASCUNO DEGLI ESERCIZI SVOLTI ESERCIZIO (5 punti) Esprimere
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
DettagliPrefissi (modificatori). signed, unsigned, short, long. Dichiarazione delle variabili. <tipo> <nome>; Es:
LINGUAGGIO C 1 Creato nel 1972 da Dennis Ritchie (Kernighan & Ritchie, Linguaggio C, 2nd ed.) Caratteristiche: Potenza Flessibilità Successo Portabilità Modularità Da C bisogna partire per imparare C++
Dettagli1 (6) 2 (7) 3 (7) 4 (7) 5 (6)
CORSO DI LAUREA IN INGEGNERIA ELETTRICA, CHIMICA e MATERIALI Informatica B anno accademico 010-011 Prof. Danilo ARDAGNA Seconda Prova in Itinere 7.06.011 Durata 1h 30 Valutazioni 1 (6) (7) 3 (7) 4 (7)
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
DettagliI puntatori. Un puntatore è una variabile che contiene l indirizzo di un altra variabile. puntatore
I puntatori Un puntatore è una variabile che contiene l indirizzo di un altra variabile. puntatore...... L operatore & fornisce l indirizzo di un oggetto: p = &c; assegna a p l indirizzo di c, i.e., p
DettagliIntroduzione a. Funzioni di Ingresso e Uscita. Compilazione
Introduzione a Funzioni di Ingresso e Uscita Compilazione 2 Come si termina...... un programma in esecuzione (processo)? Ctrl + C In UNIX ci si basa sul concetto di terminale Anche da GUI, quello che si
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
Dettaglipuntatori Lab. Calc. AA 2007/08 1
puntatori Lab. Calc. AA 2007/08 1 parametri delle funzioni (dalla lezione scorsa) gli argomenti in C vengono passati by value dalla funzione chiamante alla funzione chiamata la lista degli argomenti viene
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
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
DettagliStringhe e allocazione dinamica della memoria
Stringhe e allocazione dinamica della memoria Esercizio Scrivere un programma strings.c che legge da standard input una sequenza di parole separate da uno o più spazi, e stampa le parole lette, una per
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
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
DettagliIntroduzione al C. Unità 8 Stringhe
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Unità 8 Stringhe D. Bloisi, A. Pennisi, S. Peluso, S. Salza Sommario Unità 8 Array di
DettagliEsercizio 1: funzione con valore di ritorno di tipo puntatore
Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 7 Esercitazione: 14 dicembre 2005 Esercizi su ricorsione, manipolazione stringhe, strutture dinamiche Problema: Esercizio
DettagliEsercizio 2 (punti 7) Dato il seguente programma C: #include <stdio.h> int swap(int * nome, int length);
Fondamenti di Informatica L-A (A.A. 004/005) - Ingegneria Informatica Prof.ssa Mello & Prof. Bellavista I Prova Intermedia del 11/11/004 - durata h - COMPITO B Esercizio 1 (punti 1) Una associazione di
DettagliFondamenti di Informatica 2
Fondamenti di Informatica 2 della prova scritta del 28 Febbraio 2006 Esercizio 1 (4 punti) Date le seguenti variabili int A[] = 2,3,7,-2,5,8,-4; int N = 7; int min = 3; int i; Scrivere la porzione di codice
DettagliEsercizio 1: Puntatori impiegati che sono manager
Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 10 Esercitazione: 25 gennaio 2006 Esercizi di riepilogo Problema: Esercizio 1: Puntatori impiegati che sono manager Si
DettagliI/O Avanzato e File. Definizione di file File di testo in C Input robusto Formattazione avanzata Esercizi proposti Sommario
Programmazione in C I/O Avanzato e File Definizione di file File di testo in C Input robusto Formattazione avanzata Esercizi proposti Sommario 2 Riferimenti al materiale Testi Kernighan & Ritchie: capitolo
DettagliEsercizio n.1 FONDAMENTI DI INFORMATICA 1. Esercizio n.2. Soluzione. LINGUAGGIO C Funzioni e gestione file: esercitazione
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
DettagliI/O INTERATTIVO. scanf: quello che è indispensabile sapere printf: quello che è utile sapere
I/O INTERATTIVO scanf: quello che è indispensabile sapere printf: quello che è utile sapere Input da tastiera Funzioni disponibili (tra le altre): scanf getchar Schema di funzionamento Tastiera Sistema
DettagliLettura da tastiera e scrittura su monitor
Lettura da tastiera e scrittura su monitor Per poter leggere UN SINGOLO CARATTERE dalla tastiera e visualizzare UN SINGOLO CARATTERE sul monitor si possono utilizzare le funzioni: int getchar (void) (per
DettagliI file. I file. Classificazione per accesso. I file
I file 2 I file Ver. 2.4 File: sequenza di byte a cui il Sistema Operativo dà un nome ed una collocazione sul dispositivo di memoria di massa (es. disco) Può essere paragonato ad una lunga stringa Uno
DettagliLa struttura di un calcolatore, ad alto livello, si può rappresentare come il diagramma qui sotto:
File di testo I file (archivi) sono sequenze di dati su dispositivi di memorizzazione di massa, ossia dispositivi che consentono di immagazzinare grandi quantità di dati in modo permanente. I tipici dispositivi
Dettagli