Perchè i files? Realizzano la persistenza dei dati. Sono delle strutture di dati sequenziali. dati che sopravvivono all esecuzione del programma

Documenti analoghi
I files in C. A cura del prof. Ghezzi

Gestione dei File. Credits Prof. Campi

Gestione dei file in C

GESTIONE DEI FILE IN C. Docente: Giorgio Giacinto AA 2008/2009

I files (archivi) Il C definisce in stdio.h tre file aperti automaticamente: stdin, stdout e stderr.! Sono ad accesso sequenziale diretto

Gestione dei file in C

Operazioni su file di caratteri

La gestione dei file in C

Laboratorio di Programmazione

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 6 Marzo 2016

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 21 Maggio 2014

Gestione dei file. Stefano Ferrari. Università degli Studi di Milano Programmazione. anno accademico

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 15 Maggio 2015

Linguaggio C: i file

Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE

Laboratorio di Informatica Ingegneria Clinica Lezione 30/11/2011

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 15 Maggio 2013

Settimana n.12. Obiettivi File!di!testo. Contenuti Concetto!di!file!e!funzioni! fopen/fclose Funzioni!fgets+sscanf Approfondimenti!su!printf! e!

I file. un file è una sorgente/destinazione di dati per diversi attori

Il linguaggio C. Breve panoramica su stdio.h

Files in C endofile

FONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI. Facoltà di Ingegneria Università degli Studi di Udine

I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002

Gestione dei File. Indice. Il file system in C. Principali operazioni sui file (dalla Standard Library) Esempi. Corso di Informatica A.

Input / Output. Come già detto, input e output sono realizzati in C da funzioni di stdio.h all'interno della libreria standard

Corso di Informatica A.A

DOTT. ING. LEONARDO RIGUTINI DIPARTIMENTO INGEGNERIA DELL INFORMAZIONE UNIVERSITÀ DI SIENA VIA ROMA SIENA UFF

I File. Il file e` l'unita` logica di memorizzazione dei dati su memoria di massa.

Input / Output. Come già detto, input e output sono realizzati in C da funzioni di stdio.h all'interno della libreria standard

Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Unità 9 File

file fisico file logico

Streams e disk files

Introduzione al C. Unità 9 File. D. Bloisi, S. Peluso, A. Pennisi, S. Salza

Input/Output. Lettura e scrittura Caratteri e Stringhe: Terminale e file. Input/output. caratteri stringhe formattato ascii binari

File binari e file di testo

Introduzione. L elaborazione dei files in C. Elaborazione dei files (1) Elaborazione dei files (2) D.D. cap. 11+ pp K.P. pp.

Gestione dei file. Linguaggio ANSI C Input/Output - 13

File e puntatori a file

File. Molto astratta: file ha un nome (ex. Pippo.c), ed altre caratteristiche (dimensione, tipo, etc). Operazioni: copiare, cancellare, eseguire..

Corso di Fondamenti di Programmazione canale E-O. Introduzione. Elaborazione dei files (2)

Capitolo 5 -- Stevens

Gestione dei File C. Generalità

Introduzione al C. Esercitazione 6. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria Clinica

Gestione File di testo

Fondamenti di Informatica L-A

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007

Input/output console file caratteri stringhe formattato ascii binari

FILE: tipo operazione Istruì. prototipo esempi lettura di un carattere fgetc Int fgetc(file *flusso) Vedi sotto

Introduzione al C. Stream e disk file

I file possono essere manipolati (aperti, letti, scritti ) all interno di programmi C. dischi nastri cd

Informatica (A-K) 23. Linguaggio C -8

INFORMATICA. I file. File. File. File

Linguaggio C Gestione File

GESTIONE DEI FILE IN C

Capitolo 11 Elaborazione di file

ELEMENTI DI INFORMATICA. Linguaggio C

Cosa serve per cominciare?

Indice. La gestione dei file in C e gli stream. Apertura e chiusura di un file. Operazioni sui file. Accesso sequenziale e non sequenziale

Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

Lezione 7: Funzioni e gestione dei File

Input / Output. Come già detto, input e output sono realizzati in C da funzioni di stdio.h all'interno della libreria standard

Lezione 22: Input/Output e Files

Fondamenti di Informatica

Indice. La gestione dei file in C e gli stream. Apertura e chiusura di un file. Operazioni sui file. Accesso sequenziale e non sequenziale

Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune.

Sommario FONDAMENTI DI INFORMATICA 1. Il tipo FILE. Passaggio da standard I/O. LINGUAGGIO C Gestione dei file

Gestione dei files in linguaggio C. Fondamenti

INPUT/OUTPUT. L'immissione dei dati di un programma e l uscita dei suoi risultati avvengono attraverso operazioni di lettura e scrittura

Gestione dei File in C

Scrittura formattata - printf

Gestione dei File. dischi nastri cd

Esercizi File. Unità 8. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi Si ringrazia Raffaele Nicolussi

L'immissione dei dati di un programma e l uscita dei suoi risultati avvengono attraverso operazioni di lettura e scrittura

Linguaggio C: Stringhe di caratteri e File

Gestione dei File C. Generalità

Standard I/O. Franco Maria Nardini

Input/Output su File

Premessa. Input /output e gestione dei file. I file e gli stream. Il puntatore al file. 21. I FILE NEL LINGUAGGIO C Versione 1.

Librerie C. Corso di Linguaggi e Traduttori 1 AA Corso di Linguaggi e Traduttori 1 AA stdio.h

Introduzione al C. Unità 9 File

Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

Le librerie standard. ! La libreria standard del C è in realtà un insieme di librerie

L accesso ai dispositivi esterni (tastiera, monitor, file,...) viene gestito mediante canali di comunicazione.

A. Ferrari. File. in C

File. Unità 8. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi

Librerie C. Corso di Linguaggi e Traduttori 1 AA

INPUT/OUTPUT INPUT/OUTPUT

Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune.

Sommario ELEMENTI DI INFORMATICA. Passaggio da standard I/O. LINGUAGGIO C Gestione dei file

Gestione dei files. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Via Leopardi 132

Lezione 11: Liste a Puntatori e Input/Output

LIBRERIE STANDARD in C

Fondamenti di Informatica 2

Laboratorio di Algoritmi

Transcript:

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 all interno del linguaggio per essere manipolati attraverso le funzioni di libreria da questo definite In C anche le periferiche (terminali, stampanti) vengono viste come files Per essere usato, un file deve essere aperto

Files binari o di testo Un file binario è una sequenza di byte che non viene "interpretata" Un file di testo è una sequenza di caratteri "interpretata"; alcuni rappresentano separatori (il carattere di newline viene interpretata dalla stampante come "salto alla riga successiva")

Rappresentazione interna Ciascun file ha un descrittore nella tabella dei files aperti Il descrittore memorizza modalità d uso (Read, Write) posizione corrente indicatore di errore in R/W indicatore di eof (end-of-file)

descrittori Rappresentazione interna

Dichiarazione e apertura E un puntatore al descrittore: FILE * fp Apertura del file FILE *fopen(nomefile, modalità) nomefile e modalità sono stringhe nomefile dà il percorso corrente o il nome è interpretato nel direttorio in cui si lancia l eseguibile apre file o crea se inesistente modalità di apertura (v.dopo il significato dei parametri) r lettura modalità testo, posizionamento inizio file w scrittura modalità testo, posizionamento inizio file a scrittura in modalità testo, posizionamento fine file (append) rb, wb e ab (c.s. ma binaria)

Rimozione, ridenominazione e chiusura int remove(nomefile) cancella file nomefile restituisce 0 se buon fine,!=0 altrimenti int rename(vecchionome, nuovonome) cambia nome al file restituisce 0 se buon fine,!=0 altrimenti int fclose(file *fp) fp diventa NULL, descrittore di tipo FILE rilasciato restituisce 0 se buon fine, altrimenti EOF

Gestione errori int ferror (FILE * fp) restituisce 0 (falso) se NON è stato commesso errore int feof (FILE * fp) restituisce 0 (falso) se NON si è alla fine void clearerr (FILE * fp) riporta al valore normale gli indicatori di errore e eof

Lettura e scrittura 4 modi possibili precisando formato carattere per carattere per linee di testo usuale per files di testo per blocchi Vediamo queste!!

Lettura/scrittura formattata scanf e printf fanno riferimento a stdin e stdout fprintf e fscanf fanno riferimento a file generici e si usano esattamente come scanf e printf int fprintf (FILE *fp, stringa_di_controllo, elementi); int fscanf(file *fp, stringa_di_controllo, indirizzo elementi); restituiscono il numero di elementi effettivamente letti o scritti o zero se errore

Lettura/scrittura caratteri int getchar (void) legge come intero un carattere da std input int putchar (int c) scrive carattere su std output int fgetc (FILE* fp) int fputc (int c, FILE* fp) leggono e scrivono carattere su file, restituendolo come intero

Legge e mostra a video un file #include <stdio.h> #include <stddef.h> main() { FILE *fp; char c; fp = fopen("filechar", "r"); /* file lettura, modalità testo */ if ( fp!= NULL ) { c = fgetc(fp); while (c!= EOF) { putchar(c); c = fgetc(fp); } fclose(fp); } else printf("il file non può essere aperto\n");

Esercizi Si scriva un programma C opportunamente scomposto in funzioni e procedure che permetta all utente di inizializzare una matrice di interi di dimensione NxN (con N dato) con numeri positivi. Dopo aver stampato la matrice a video, il programma deve trovare il minimo di tutti i valori inseriti nella matrice e stampare in un file di nome risultato.txt tale valore. Ad esempio, dato N=4, se l utente inserisse la seguente matrice: 11 42 0 47 55 3 45 12 2 23 55 55 1 5 7 0 Il programma, dopo averla visualizzata a video, dovrebbe scrivere nel file risultato.txt il numero 0. N.B. nella codifica del programma non si devono usare variabili globali.

Procedura scrittura file void ScrivisuFile(int max, FILE *fp) { if ((fp=fopen( risultato.txt, w ))==NULL) printf( Errore in apertura del file! ); else { fprintf(fp, %d, max); fclose(fp); } }

Esercizi Si scriva un programma C opportunamente scomposto in funzioni e procedure che permetta all utente di inizializzare una matrice di interi di dimensione NxN (con N dato) con numeri positivi compresi tra 0 e 99 (estremi inclusi). Dopo aver stampato la matrice a video, il programma deve contare le occorrenze di tutti i valori inseriti nella matrice e stampare in un file di nome risultato.txt il valore che nella matrice ha il maggior numero di occorrenze. Ad esempio, dato N=4, se l utente inserisse la seguente matrice: 11 42 0 47 55 3 45 12 2 23 55 55 1 5 7 0 Il programma, dopo averla visualizzata a video, dovrebbe scrivere nel file risultato.txt il numero 55 che nella matrice appare 3 volte. Se la matrice contiene più numeri la cui occorrenza è pari alla massima, il programma ne scriverà uno solo su file. N.B. nella codifica del programma non si devono usare variabili globali.