File. Unità 8. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
|
|
- Faustina Ippolito
- 4 anni fa
- Visualizzazioni
Transcript
1 Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi
2 Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto 25 (adiacente Piazza Dante, Manzoni Tram 3 fermata via Labicana) bloisi@dis.uniroma1.it home page: Pagina 2
3 Ricevimento In aula, subito dopo le lezioni Su appuntamento (tramite invio di una ) presso: Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti, via Ariosto 25 - II piano, stanza A209 Si invitano gli studenti a controllare regolarmente la bacheca degli avvisi Pagina 3
4 Orari Lunedì Aula 4, via del Castro Laurenziano 7A Martedì Aula 15, Laboratorio Didattico via Tiburtina 205 Mercoledì Aula 4, via via del Castro Laurenziano 7A Pagina 4
5 Sommario Array di caratteri: stringhe Inizializzazione di stringhe Lettura e scrittura di stringhe Operazioni sulle stringhe Funzioni per la manipolazione delle stringhe: strcpy, strncpy, strcat, strncat, strcmp, strstr Input/Output in C Stream Pagina 5
6 I/O in C Il sistema di I/O del C è una interfaccia uniforme per il programmatore. Scrivere o leggere da file o da video/tastiera non comporta differenze concettuali. Indipendentemente dal dispositivo di lettura e scrittura utilizzato, potranno essere utilizzate le medesime funzioni. Pagina 6
7 Schema di un calcolatore Tastiera Mouse Stampante Modem Porte I/O Controller dischi Hard disk CD/ROM DVD CPU Scheda video Monitor Memoria Scheda audio Casse Microfono bus Scheda rete Altro PC Internet Pagina 7
8 Sistema di I/O Il sistema di I/O del C permette di inserire un livello di astrazione tra il programmatore e l oggetto, sia esso un file o dispositivo, su cui (da cui) si vuole scrivere (leggere). L astrazione si ottiene attraverso la creazione di uno stream (flusso di dati) Pagina 8
9 Stream Uno stream (flusso di dati) fornisce un canale di comunicazione tra il programma e l esterno (file o device) Uno stream è una struttura costituita da una sequenza di byte terminante con un apposito carattere, che identifica la fine della sequenza. Pagina 9
10 Stream Gli stream possono essere associati (con opportuni comandi) Ai dispositivi fisici collegati al computer (tastiera, video, stampante, etc ) Ai file residenti sulla memoria di massa (disco fisso) Pagina 10
11 Bufferizzazione Gli streams di I/O sono bufferizzati. Ogni volta che viene eseguita una operazione di I/O verrà letto (scritto) da (su) file un "pezzo" di dimensioni stabilite, utilizzando alcune aree temporanee di immagazzinamento Pagina 11
12 Bufferizzazione La bufferizzazione rende efficiente l'i/o, ma è necessario fare attenzione: i dati scritti in un buffer non compaiono nel file (o nel device) finché il buffer non è totalmente pieno. Il carattere di escape '\n' forza lo svuotamento del buffer. Uscite anormali da un programma possono causare problemi se il buffer non viene opportunamente svuotato. Pagina 12
13 FILE FILE è una struttura di dati interna al C, che rappresenta uno stream. È definita nel file stdio.h. Il nome FILE è usato per motivi storici, infatti la struttura FILE può essere usata per rappresentare anche oggetti diversi da file in senso tecnico. Quando si realizza l'i/o utilizzando uno stream, è sufficiente fare riferimento alla struttura FILE. Pagina 13
14 stdout e stdin La funzione printf produce una sequenza di caratteri che viene inviata allo stream stdout (monitor). La funzione scanf legge i caratteri dallo stream stdin (tastiera), ossia lo stream di input, e li deposita, convertendoli nello specifico formato, nelle variabili il cui indirizzo è specificato come parametro. Pagina 14
15 I file rappresentano la principale struttura per la memorizzazione di dati in maniera permanente. I file hanno la caratteristica di sopravvivere allo spegnimento della macchina. Possono contenere Caratteri alfanumerici codificati in formato standard (es. ASCII) direttamente leggibili dall utente (file di testo) Dati in un formato interpretabile dai programmi (file binari) Pagina 15
16 Flusso sequenziale di byte delimitato dal carattere di terminazione chiamato End-Of- (EOF). Pagina 16
17 di testo I file di testo sono normalmente organizzati in sequenze di linee ciascuna delle quali contiene una sequenza di caratteri. In questo corso tratteremo solamente file di testo. Pagina 17
18 e directory Ogni file è caratterizzato da un nome e una directory (o cartella) in cui risiede. Le operazioni fondamentali sui file sono: creazione, lettura, scrittura ed eliminazione. Queste operazioni possono essere effettuate tramite il sistema operativo, programmi applicativi, oppure mediante apposite istruzioni del linguaggio C. Pagina 18
19 Operazioni sui file Per eseguire operazioni di lettura e scrittura sui file è necessario Aprire il file prima di eseguire le operazioni Chiudere il file al termine dell esecuzione delle operazioni. Pagina 19
20 e stream Il file deve essere connesso al programma tramite l apertura di uno stream. Nel caso degli stream standard stdin, stdout, stderr l apertura e la chiusura avviene in maniera automatica. Nel caso di FILE l apertura e la chiusura dello stream associato al file non sono automatici, ma vanno gestiti esplicitamente. Pagina 20
21 Aprire un Aprire un file significa indicare al sistema operativo la volontà di eseguire operazioni sui file. Il sistema operativo verificherà, all atto dell apertura del file, se tale operazione è possibile. Pagina 21
22 Scrittura e lettura L apertura del file si distingue in due casi: 1. Apertura in lettura 2. Apertura in scrittura A seconda del tipo di apertura scelto, il sistema operativo definisce un comportamento differente. Ad esempio, è possibile che due applicazioni aprano lo stesso file contemporaneamente in lettura, ma non in scrittura. In molti linguaggi di programmazione l apertura in scrittura di un file coincide con la sua creazione. Pagina 22
23 Le funzioni fprintf e fscanf fprintf ( <descrittore>, <stringa di controllo>, <altri-argomenti> ) fscanf ( <descrittore>, <stringa di controllo>, <altri-argomenti> ) Sono le versioni di printf e scanf relative ad un generico FILE. Pagina 23
24 Descrittore di file <descrittore> È una connessione tra: il mondo interno al programma (caricato in memoria centrale) e il mondo esterno (rappresentato dai file residenti nella memoria di massa) È legato al nome fisico del file e ad altre caratteristiche strutturali. Pagina 24
25 Descrittore di file Per usare file esterni Si deve introdurre questo rappresentante interno del mondo esterno (descrittore) Si deve creare una associazione temporanea tra mondo esterno e rappresentante interno Pagina 25
26 Sintassi - Descrittore di Il descrittore di file è una variabile. Bisogna specificare un nome e un tipo per poterlo dichiarare FILE *<identificatore>; Esempio FILE *fd; //file descriptor Pagina 26
27 Puntatore a FILE FILE *fd; FILE* indica il tipo puntatore a file. fd è una variabile di tipo puntatore a FILE Attenzione: non è sufficiente dichiarare un descrittore per accedere a un file in memoria fissa, ma bisogna anche creare il legame (stream) con tale file. Pagina 27
28 Le funzioni fprintf e fscanf int fprintf ( FILE * stream, const char * format,... ); int fscanf ( FILE * stream, const char * format,... ); Sono definite in stdio.h Pagina 28
29 Connessione La funzione fopen crea la connessione tra il descrittore e il file vero e proprio (in memoria di massa) <descrittore> = fopen( <nomefile_esterno>, <modalita_di_uso> ); Esempio fd = fopen("file_da_leggere.txt", "r"); Pagina 29
30 Modalità d uso Si deve specificare se il file debba essere usato in lettura o in scrittura (si ricordi la distinzione tra stdin e stdout ) "r" in lettura (read) "w" in scrittura (write) "a" scrittura alla fine del file (append) Pagina 30
31 Esempio FILE * fd2; fd2 = fopen("file_da_scrivere.txt", "w"); Pagina 31
32 Chiusura della connessione Una volta terminato l uso del file, esso deve essere chiuso. La chiusura di un file in C si ottiene tramite la funzione fclose fclose(<descrittore>); Pagina 32
33 Esempio int main() { //dichiarazioni dei descrittori FILE *fd; FILE *fd2; fd = fopen("dati.txt", "r") fd2 =fopen("risultati.txt", "w") //lettura dati e //calcolo dei risultati... fclose(fd); fclose(fd2); } Pagina 33
34 Eccezioni Nella comunicazione con il disco fisso può accadere che il file non venga aperto correttamente. Gli errori vengono segnalati tramite un valore particolare del descrittore di file, cioè NULL È opportuno, dopo una fopen( ), inserire sempre un controllo sul valore del descrittore. if (fd == NULL) { //gestione dell errore... } Pagina 34
35 Esempi if (fd == NULL) printf("errore nella apertura del " "file di ingresso"); if (fd2 == NULL) printf("errore nella apertura del " "file di uscita"); Pagina 35
36 Modello ideale per il Un file può essere immaginato come un nastro contenente informazioni. Il descrittore può essere visto come una testina mobile che punta ad una cella del nastro. La testina viene spostata da istruzioni come fscanf e fprintf testina Pagina 36
37 La fine del file (EOF) La fine del file viene segnalata da un carattere particolare, il simbolo di End-of- (EOF) La codifica del carattere EOF dipende dalla macchina su cui gira il programma Ctrl-z per Windows Ctrl-d per Mac Ctrl-x per Unix e Linux Pagina 37
38 Riassumendo 1. Viene dichiarato il descrittore del file FILE *fd; 2. Il file si apre con la funzione fopen fd = fopen("dati.txt", "r"); "dati.txt" è il nome fisico del file, cioè il nome con cui il file è chiamato sul disco. "r" è il modo di apertura ("w" se il file va aperto in scrittura). 3. Possono essere eseguite operazioni di lettura e scrittura utilizzando il descrittore del file. 4. Il file viene chiuso fclose(fd); Pagina 38
39 Esercizio Leggere un file di testo esempio.txt e stamparne il contenuto visualizzando ogni parola in una singola riga. Input esempio.txt Contenuto del file di testo. Output Contenuto del file di testo. Pagina 39
40 Condizioni sull input Deve esistere già in memoria il file esempio.txt che possa essere aperto in lettura e analizzato per produrre il risultato desiderato. Pagina 40
41 Soluzione #include <stdio.h> #include <stdlib.h> int main (){ FILE *fd; //descrittore del file fd = fopen("esempio.txt", "r"); if(fd == NULL){ //controllo apertura del file printf("\nerrore di apertura!\n"); return EXIT_FAILURE; } char ch; //lettura carattere per carattere while (fscanf(fd, "%c", &ch)!= EOF) { if(ch == ' ') printf("\n"); else } fclose(fd); return EXIT_SUCCESS; printf("%c", ch);!!! fscanf } Pagina 41
42 Valore di ritorno per scanf int fscanf ( FILE * stream, const char * format,... ); fscanf quando viene raggiunta la fine del file restituisce un valore pari a EOF. Pagina 42
43 Operatori per leggere e scrivere caratteri Leggere da tastiera e scrivere a video getchar (lettura) putchar (scrittura) Leggere da file e scrivere su file fgetc(<filedescrittore>); fputc(<intero>, <filedescrittore>); Pagina 43
44 Esempio while((ch = fgetc(fd))!= EOF) { if(ch == ' ') putchar('\n'); else putchar(ch); } Pagina 44
45 Esercizio scrittura su file Memorizzare su un file clienti.txt i seguenti dati: Numero di conto Bilancio per un massimo di 10 clienti inseriti da tastiera. Digitare EOF per terminare prima l inserimento. Pagina 45
46 Soluzione scrittura su file int main () { int conto, i; float bilancio; FILE *fd; /* descrittore file */ if ((fd = fopen("clienti.txt", "w")) == NULL) { printf("il file non puo\' essere aperto"); return EXIT_FAILURE; } for (i=1; i<=10; i++) { printf("immetti il conto e il bilancio\n"); if(scanf("%d%f", &conto, &bilancio) == EOF) break; fprintf(fd, "%d %f\n", conto, bilancio); } fclose(fd); return EXIT_SUCCESS; } Pagina 46
47 Esecuzione Immetti il conto e il bilancio Immetti il conto e il bilancio Immetti il conto e il bilancio Immetti il conto e il bilancio ^Z clienti.txt Pagina 47
48 Esercizio lettura da file Leggere dal file clienti.txt i seguenti dati: Numero di conto Bilancio Pagina 48
49 Soluzione lettura da int main () { int conto, i; float bilancio; FILE *fd; // descrittore file if ((fd = fopen("clienti.txt", "r")) == NULL) printf("il file non puo\' essere aperto\n"); return EXIT_SUCCESS; } printf("conto \t\t Bilancio\n"); for (i=1; i<=10; i++) { if(fscanf(fd,"%d%f",&conto,&bilancio) == EOF) break; printf("%d \t\t %f\n", conto, bilancio); } fclose(fd); return EXIT_SUCCESS; } Pagina 49
50 Esecuzione Conto Bilancio Pagina 50
File. Unità 8. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Laboratorio di Informatica Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale
DettagliCorso 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
DettagliIntroduzione al C. Unità 9 File
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Unità 9 File D. Bloisi, A. Pennisi, S. Peluso, S. Salza Sommario Unità 9 Input/Output
DettagliCorso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Unità 9 File
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Unità 9 File D. Bloisi, A. Pennisi, S. Peluso, S. Salza, C. Ciccotelli Sommario Input/Output
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
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
DettagliEsercizi Esame. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Laboratorio di Informatica Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale
DettagliOperazioni sulle stringhe
Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto
DettagliEsercitazione 6. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto
DettagliStringhe. Unità 8. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto
DettagliChar. Unità 2. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto
DettagliEsercizi con Array. Unità 7. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto
DettagliEsercizi File. Unità 8. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi Si ringrazia Raffaele Nicolussi
Corso di Laboratorio di Informatica Ingegneria Clinica BCLR Domenico Daniele Bloisi Si ringrazia Raffaele Nicolussi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica,
DettagliEsercitazione 6. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR. Domenico Daniele Bloisi
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliVariabili. Unità 2. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Laboratorio di Informatica Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale
DettagliFONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI. Facoltà di Ingegneria Università degli Studi di Udine
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C I file 2001 Pier Luca Montessoro - Davide Pierattoni (vedere
DettagliStringhe Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliFile. Unità 8. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliVariabili. Unità 2. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto
DettagliGestione dei File. Credits Prof. Campi
Gestione dei File Credits Prof. Campi 1 Perché i file? Sono strutture dati persistenti Sono solitamente memorizzati sui dischi Si usano dall'interno dei programmi Realizzano la persistenza dei dati cioè
DettagliGestione della memoria
Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto
DettagliI files (archivi) Il C definisce in stdio.h tre file aperti automaticamente: stdin, stdout e stderr.! Sono ad accesso sequenziale diretto
C I files di dati I files (archivi) Files di programmi sono solo gestiti dal compilatore C Files di dati Possono essere creati, aggiornati, letti, scritti da programmi C Servono per conservare dati su
DettagliPreprocessore. Unità 9. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi Si ringrazia Raffaele Nicolussi
Corso di Laboratorio di Informatica Ingegneria Clinica BCLR Domenico Daniele Bloisi Si ringrazia Raffaele Nicolussi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica,
DettagliFile. Molto astratta: file ha un nome (ex. Pippo.c), ed altre caratteristiche (dimensione, tipo, etc). Operazioni: copiare, cancellare, eseguire..
File I file sono una illusione creata dal Sistema Operativo(SO) Il SO usa opportune strutture dati per implementare tale astrazione (ad esempio: File Control Block, FCB) Sono usati per memorizzare in modo
DettagliIstruzioni di Ciclo. Unità 4. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Laboratorio di Informatica Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale
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
DettagliIstruzioni di ciclo. Unità 4. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto
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
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
DettagliEsercizi di esame. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto
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
DettagliOperazioni sulle stringhe Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliEsercitazioni Fondamenti di Informatica
Esercitazioni Fondamenti di Informatica Marco Biagi Esercitazione 10 Email: marco.biagi@unifi.it Stringhe in C Una stringa è una sequenza di caratteri con un ordine prestabilito char c = p ; char stringa[]
DettagliIstruzioni Condizionali
Istruzioni Condizionali Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio
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
DettagliELEMENTI DI INFORMATICA. Linguaggio C
Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica ELEMENTI DI INFORMATICA http://agile.diee.unica.it A.A. 2015/2016 Ing. Marco Ortu Diee, secondo piano Tel. 070-6755774 mail:
DettagliPerchè i files? Realizzano la persistenza dei dati. Sono delle strutture di dati sequenziali. dati che sopravvivono all esecuzione del programma
Perchè i files? Realizzano la persistenza dei dati dati che sopravvivono all esecuzione del programma Sono delle strutture di dati sequenziali Files e S.O. I files sono gestiti dal S.O. e resi visibili
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
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
DettagliControllo del flusso
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliMatrici. Unità 7. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto
DettagliCorso di Informatica A.A
Corso di Informatica A.A. 2009-2010 Lezione 13 Corso di Informatica 2009-2010 Lezione 13 1 Input/output da file Stream Si definisce stream una sequenza di bytes di dati che può essere in ingresso (input
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
DettagliLaboratorio di Programmazione
Laboratorio di Programmazione (Laurea triennale in matematica) Lezione 26 Sommario: Gestione dei file in C. File ad accesso sequenziale: apertura, chiusura, lettura e scrittura. File binari. Gestione files
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
DettagliFor e do. Unità 4. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto
DettagliOperazioni su file di caratteri
Operazioni su file di caratteri Apertura fopen Chiusura fclose Scrittura fprintf Lettura fscanf Controllo fine file feof Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1 Apertura di un file: Si
DettagliFile 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
DettagliGestione dei files in linguaggio C. Fondamenti
Programmazione e Laboratorio di Programmazione Gestione dei files in linguaggio C Fondamenti 1 Che cosa è un file? Un file può essere visto come un contenitore di informazioni simile ad un vettore di bytes
DettagliFunzioni. Unità 1. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi Alberto Pretto
Corso di Laboratorio di Informatica Ingegneria Clinica BCLR Domenico Daniele Bloisi Alberto Pretto Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica
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
DettagliFiles in C endofile
Files in C Il C vede i file semplicemente come un flusso (stream) sequenziale di bytes terminati da un marcatore speciale che determina la fine del file (end-of-file). 0 1 2 3 4... endofile A differenza
DettagliIl linguaggio C. Breve panoramica su stdio.h
Il linguaggio C Breve panoramica su stdio.h 1 Input/Output: stdio.h Contiene definizioni di costanti legate all I/O es. EOF (end of file) #define EOF (-1) valore restituito alla fine di un file Contiene
DettagliGestione dei file in C
Gestione dei file in C Fondamenti di Informatica Che cos è un file e a cosa serve? Memoria di massa vs memoria centrale q La memoria di massa (disco fisso) è un dispositivo di memorizzazione generalmente
DettagliIstruzioni di Ciclo. Unità 4. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
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
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
DettagliIntroduzione al C. Esercitazione 6. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria Clinica
Corso di Fondamenti di Informatica Ingegneria Clinica Domenico Daniele Bloisi Informazioni Generali ing. Domenico Daniele Bloisi Dipartimento di Informatica e Sistemistica Stanza B213, secondo piano Via
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
DettagliVariabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
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
DettagliParte II ing. Domenico Daniele Bloisi, PhD
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Unità 5-6 Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliLezione 22: Input/Output e Files
Lezione 22: Input/Output e Files Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università di Salerno Struttura della lezione Esami: date e modalità Funzioni di libreria standard
DettagliDIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 6 Marzo 2016
File Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 6 Marzo 2016 Obiettivi Il salvataggio dei dati File File e OS File in C 2 3 I programmi che abbiamo considerato finora. Perdono
DettagliDIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 21 Maggio 2014
File Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 21 Maggio 2014 Obiettivi Il salvataggio dei dati File File e OS File in C 2 3 I programmi che abbiamo considerato finora. Perdono
DettagliFunzioni. Unità 1. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto
DettagliDefinizione di classi
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliStreams e disk files
Streams e disk files Streams Un canale è una sequenza di byte di dati Sorgente o destinazione di dati che possono essere associati ad un disco o ad altre periferiche Due tipi di stream: Testo: sequenza
DettagliEsercizi Array. Parte 7. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliIndice. La gestione dei file in C e gli stream. Apertura e chiusura di un file. Operazioni sui file. Accesso sequenziale e non sequenziale
File in C Indice La gestione dei file in C e gli stream Apertura e chiusura di un file Operazioni sui file Accesso sequenziale e non sequenziale La gestione del buffer Gestione dei file in C In C all interno
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
DettagliIstruzioni di Ciclo. Unità 4. Domenico Daniele Bloisi
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliVariabili. Unità 2. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliEsercizi Array Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliCorso di Fondamenti di Programmazione canale E-O. Introduzione. Elaborazione dei files (2)
Corso di Fondamenti di Programmazione canale E-O Tiziana Calamoneri L elaborazione dei files in C DD, Cap. 11 + pp. 569-572 KP, pp. 581-583 Introduzione La memorizzazione dei dati nelle variabili e nei
DettagliDIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 15 Maggio 2015
File Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 15 Maggio 2015 2nda prova in itinere Era il 21 Maggio 2 2nda prova in itinere Era il 21 Maggio Spostata (da 3 settimane) al 22
DettagliLaboratorio di Informatica
Record Laboratorio di Informatica Ingegneria Meccanica Lezione 9, 6 dicembre 2007 versione 18 dicembre 2007 Renato Menicocci Array: collezione di dati omogenei
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
DettagliFunzioni. Unità 1. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
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
DettagliInput/Output su disco
Input/Output su disco In C, la gestione dei dispositivi di lettura (tastiera, file su disco,...) e scrittura (monitor, file su disco, stampante,...) viene effettuata mediante canali di comunicazione. Tali
DettagliFondamenti di Informatica L-A
Fondamenti di Informatica L-A Esercitazione del 23/11/07 Ing. Giorgio Villani Ripasso Teoria Funzioni ricorsive 2 fatt(2) 1 2*fatt(1) fatt(1) 1 2*1 1*fatt(0) fatt(0) 1*1 caso base fatt(0)=1 Esercizio 1
DettagliLezione 11: Liste a Puntatori e Input/Output
Lezione 11: Liste a Puntatori e Input/Output Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione Richiamo: strutture (struct)
DettagliLezione XXII.I La gestione dei file Fondamenti
Programmazione e Laboratorio di Programmazione Lezione XXII.I La gestione dei file Fondamenti 1 Che cosa è un file? Un file può essere visto come un contenitore di informazioni simile ad un vettore di
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
DettagliInformazioni Utili. Strumenti Utilizzati. Creazione e gestione di un progetto. Fondamenti di Informatica L-B (L-Z) Esercitazioni
Informazioni Utili Fondamenti di Informatica L-B (L-Z) Esercitazioni A.A. 2005/06 Tutor: Loris Cancellieri loris.cancellieri@studio.unibo.it Orario delle Esercitazioni Lunedì 14-16 Gruppo L Q Martedì 16-18
DettagliDati due punti sul piano calcolare la loro distanza
Introduzione al C Primo esempio in C Dati due punti sul piano calcolare la loro distanza Soluzione: la distanza fra due punti si calcola secondo il teorema di Pitagora, con la formula: y Distanza = (lato12
DettagliChar. Parte 2. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliSettimana n.12. Obiettivi File!di!testo. Contenuti Concetto!di!file!e!funzioni! fopen/fclose Funzioni!fgets+sscanf Approfondimenti!su!printf! e!
Settimana n.12 Obiettivi File!di!testo Contenuti Concetto!di!file!e!funzioni! fopen/fclose Funzioni!fgets+sscanf Approfondimenti!su!printf! e!scanf 437 Files Vista d insieme dei formati di file File File
DettagliI file 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
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
DettagliFondamenti di Informatica 2008 corso prof. A. Picariello. Operazioni sui FILE in C++
Fondamenti di Informatica 2008 corso prof. A. Picariello Operazioni sui FILE in C++ Librerie di I/O per la gestione dei FILE Il C++ consente di utilizzare le librerie standard di I/O del C mette anche
DettagliLezione V Fondamenti di Ingresso/Uscita
Programmazione e Laboratorio di Programmazione Lezione V Fondamenti di Ingresso/Uscita Programmazione e Laboratorio di Programmazione: Fondamenti di Ingresso/Uscita 1 Flussi standard di I/O Standard streams:
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
Dettagli