I file di dati. Unità didattica D1 1

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "I file di dati. Unità didattica D1 1"

Transcript

1 I file di dati Unità didattica D1 1

2 1) I file sequenziali Utili per la memorizzazione di informazioni testuali o binarie Noi ci occuperemo di file contenenti informazioni testuali In fondo ad un file sequenziale vi è sempre posizionato un carattere speciale di fine file EOF Non sono adatte per grandi quantità di dati per il dilatarsi dei tempi d accesso alle singole informazioni Unità didattica D1 2

3 1.1 Apertura e chiusura di file sequenziali Prima di poter effettuare qualsiasi operazione sui file è necessario aprire il file Al termine del suo utilizzo è necessario chiudere il file Apertura file: Un file sequenziale può essere aperto in vari modi possibili: r Solo lettura - se il file al momento dell apertura non esiste allora la funzione di apertura in r restituisce NULL w Solo scrittura - se il file al momento dell apertura non esiste allora sarà automaticamente creato - se il file al momento dell apertura esiste allora il contenuto del file preesistente andrà perso Unità didattica D1 3

4 1.1 Apertura e chiusura di file sequenziali Apertura file: r+ Lettura e Scrittura - se il file al momento dell apertura non esiste allora la funzione di apertura in r+ restituisce NULL w+ Lettura e Scrittura - se il file al momento dell apertura non esiste allora sarà automaticamente creato - se il file al momento dell apertura esiste allora il contenuto del file preesistente andrà perso a Append (sul file sarà possibile scrivere in fondo al file) - se il file al momento dell apertura non esiste allora sarà automaticamente creato - se il file al momento dell apertura esiste allora il contenuto del file preesistente rimarrà invariato a+ Lettura ed Append (sul file sarà possibile eseguire sia operazioni di lettura che di scrittura) - se il file al momento dell apertura non esiste allora sarà automaticamente creato - se il file al momento dell apertura esiste allora il contenuto del file preesistente rimarrà invariato Unità didattica D1 4

5 1.1) Apertura e chiusura di file sequenziali Sintassi per apertura file: <Identificatore>=fopen(<NomeFile>, <modalità>) <Identificatore> Variabile puntatore di tipo FILE detto file pointer,all interno del programma il programmatore deve usare il fiele pointer per accedere al file. <NomeFile> Stringa contenente il nome del file compreso il path (prova.txt;../prova.txt; c:/.../prova.txt; Dati/prova.txt) <Modalità> Uno dei modi visti in precedenza Nota: nel programma deve essere incluso stdio.h Unità didattica D1 5

6 1.1) Apertura e chiusura di file sequenziali Esempio di apertura: //Esempio di apertura di un file in sola lettura #include <stdio.h> void main () { FILE *fp; fp=fopen ("carattere.txt","r");.. //Esempio di apertura di un file in append #include <stdio.h> void main () { FILE *fp; fp=fopen ("../prova.txt", a");.. Unità didattica D1 6

7 1.1) Apertura e chiusura di file sequenziali Sintassi per chiusura file: fclose (<Identificatore>) <Identificatore> nome della variabile file pointer usato in apertura Esempio di chiusura: //Esempio di apertura di un file in sola lettura e successiva chiusura #include <stdio.h> void main () { FILE *fp; fp=fopen ("carattere.txt","r");.. fclose (fp).. Unità didattica D1 7

8 1.2) Operazione di lettura e scrittura di singoli caratteri su un file sequenziale Scrittura carattere su file E possibile operare in scrittura singoli caratteri su di un file precedentemente aperto utilizzando la seguente procedura: fputc(<carattere>, <Identificatore>) Nota: Tutti i caratteri che aggiungiamo successivamente in scrittura si accodano ai caratteri eventualmente già scritti. Lettura carattere da file E possibile operare in lettura singoli caratteri su di un file precedentemente aperto utilizzando la seguente funzione: <carattere> = fgetc(<identificatore>) Nota: Tutti i caratteri che leggiamo successivamente saranno quelli successivi al carattere appena letto. Vedi Esempio: Lettura e Scrittura Caratteri Unità didattica D1 8

9 1.3) Operazione di lettura e scrittura di stringhe su un file sequenziale Scrittura stringhe su file E possibile operare in scrittura singole stringhe su di un file precedentemente aperto utilizzando la seguente procedura: fputs(<stringa>, <Identificatore>) Nota: Tutti le stringhe che aggiungiamo successivamente in scrittura si accodano alle stringhe eventualmente già scritte. Lettura stringhe da file E possibile operare in lettura singole stringhe su di un file precedentemente aperto utilizzando la seguente procedura: fgets (<stringa>, <n caratteri>, <Identificatore>) n caratteri rappresenta il numero di caratteri-1 che si vuole leggere dal file (si deve tener conto del fine stringa, 1 carattere). Nota1: Tutte le stringhe che leggiamo successivamente saranno quelle successive alla stringa effettivamente appena letta. Nota2: Se compare un fine riga allora viene troncata l eventuale lettura della stringa alla lunghezza della riga. Vedi Esempio: Lettura e Scrittura Stringhe Unità didattica D1 9

10 1.4) I file con dati a blocco, accesso casuale (random) I file di questo tipo sono costituiti da un numero variabile di record accodati Si può immaginare di avere un archivio di schede ognuna delle quali rappresenta un record Unità didattica D1 10

11 1.4.1) Richiamo delle strutture Record Come già visto, i Record ci consentono di confluire sotto un unico nome dati non omogenei (di tipo diverso) Esempi: Dipendente Nome (stringa) Cognome (stringa) Livello (intero) Stipendio (float) Alunno Nome (stringa) Cognome (stringa) Classe (stringa) Matricola (intero) Unità didattica D1 11

12 1.4.1) Richiamo delle strutture Record Si ricorda che per dichiarare un nuovo tipo struttura si utilizza la seguente sintassi: struct <NomeStruttura> { <TipoCampo1> <NomeCampo1>; <TipoCampo2> <NomeCampo2>; <TipoCampoN> <NomeCampoN>; }; Unità didattica D1 12

13 1.4.1) Richiamo delle strutture Record Esempi: struct Studente { char nome[20]; char cognome[20]; char DataNascita[10]; int matricola; char sesso; }; struct Auto { char marca [20]; char modello[20]; int prezzo; int Anno_Imm; }; Note: Non è consentito l inizializzazione dei campi Non è consentito utilizzare un nome campo uguale al nome della struttura E consentito usare nomi campi uguali fra strutture diverse Si possono usare tipi di campo semplici o composti Unità didattica D1 13

14 1.4.1) Richiamo delle strutture Record Una volta creato un tipo struttura, è possibile dichiarare variabili del nuovo tipo definito utilizzando la normale sintassi di dichiarazione Esempio: Auto A1; Auto A2, A3; Per comodità è possibile creare un tipo e contestualmente dichiarare una o più variabili del tipo appena dichiarato Esempio: struct Studente { char nome[20]; char cognome[20]; char DataNascita[10]; int matricola; char sesso; } Alunno1, Alunno2, Alunno3; Unità didattica D1 14

15 1.4.1) Richiamo delle strutture Record In fase di dichiarazione delle variabili di tipo struttura, è possibile inizializzare i suoi campi Esempio: struct Studente { char nome[20]; char cognome[20]; char DataNascita[10]; int matricola; char sesso; } ; Studente Alunno1={ Marco, Rossi, ,2154, M }; Studente Alunno2={ Giulia, Marini, ,2158, F }; Unità didattica D1 15

16 1.4.1) Richiamo delle strutture Record Per riferirsi ad un particolare campo di una variabile di tipo struttura, si utilizza la notazione punto (.) <NomeVariabile>.<NomeCampo> Esempi: Alunno2.matricola=2157; strcpy(alunno3.nome, Matteo ); Alunno3.sesso= M X=A1.prezzo; A differenza degli Array, per le strutture è definito l operatore di assegnazione, pertanto è consentito eseguire la seguente assegnazione: Alunno=Alunno3; //Ho creato una copia dei dati relativi all alunno3 nella struttura della variabile Alunno //precedentemente dichiarate dello stesso tipo Studente Unità didattica D1 16

17 1.4.2) Richiamo delle strutture Array di Record: le Tabelle E possibile creare strutture dati più complesse mettendo insieme array e strutture. Se consideriamo un array di record otterremo quella che viene chiamata tabella. Esempio: struct Auto { char marca [20]; char modello[20]; int prezzo; int Anno_Imm; }; Auto Concessionaria[10]; Unità didattica D1 17

18 1.4.2) Richiamo delle strutture Array di Record: le Tabelle Gli array di strutture prendono il nome di tabelle in quanto possono essere viste come strutture tabellari: Concessionaria marca modello prezzo Anno_Imm Unità didattica D1 18

19 1.4.3) I file con dati a blocco, accesso casuale (random) I file con dati a blocco sono da immaginare come grossi array di record, ogni record rappresenta un blocco all interno del file. La dimensione in byte del singolo record (come ogni tipo di dato) viene ricavata utilizzando la funzione sizeof() Esempio: sizeof(<struttura>); DimRecord=sizeof(Alunno3); Unità didattica D1 19

20 1.4.3) I file con dati a blocco, accesso casuale (random) char nome[20]; char cognome[20]; char DataNascita[10]; int matricola; char sesso; DimRecord = sizeof(alunno3) Otteniamo DimRecord = 60 byte (leggermente superiore alla somma dei byte occupati dai singoli campi) Se all interno del nostro file riponiamo 40 blocchi record di tipo Studente abbiamo una dimensione file pari a 40*60=2400byte=2,4Kbyte Unità didattica D1 20

21 1.4.3) I file con dati a blocco, accesso casuale (random) Analogamente a quanto avveniva per i file ad accesso sequenziale, anche per questi tipi di file l accesso avviene in modo sequenziale a meno di utilizzare opportune funzioni/procedure di posizionamento Procedura fseek() posiziona il file-pointer nella posizione desiderata al fine di coperare sul blocco voluto. fseek(<identificatore>, <Numero_byte>, <Modalità>) Identificatore file pointer Numero byte Numero byte di cui si vuole spostare il file-poiter Modalità 0 (spostamento dall inizio file) 1 (spostamento dalla posizione corrente) 2 (spostamento dalla fine del file) Unità didattica D1 21

22 1.4.3) I file con dati a blocco, accesso casuale (random) Funzione ftell() restituisce la posizioe corrente del file-pointer. ftell(<identificatore>) Identificatore file pointer Esempio: determina il numero di record (blocchi) presenti in un file contenente Studenti definiti secondo la struttura precedentemente indicata: fseek(fp, 0, 2); dim_file = ftell(fp); n_record = dim_file/dim_record; Vedi esempio: Dim_File_Classe.cpp Unità didattica D1 22

23 1.4.4) I file con dati a blocco, Lettura record L operazione di lettura di record viene effettuata tramite la funzione: N = fread(<ind_variabile>, <Dim_Blocco>, <Num_Blocchi>, <Identi.>) Ind_Variabile Dim_Blocco Num_Blocchi Identi. N Indirizzo della struttura dati che dovrà ospitare i blocchi che si vuole leggere. Esempi: &Alunno leggere un solo blocco record; Classe leggere più blocchi record da riporre in una struttura Array di Record (Classe[]); Dimensione in byte del singolo blocco (ricavabile con sizeof() ) Numero di Blocchi che si vogliono leggere (1 o più) File-Pointer del file sul quale si vuole operare in lettura Numero di Blocchi effettivamente letti Unità didattica D1 23

24 1.4.4) I file con dati a blocco, Lettura record Esempio di Lettura singolo record: fp = fopen ( "Classe4A.txt", "r" ); cout << "Inserire la matricola dello studente che si vuole visualizzare: "; cin >> mat; dim_record=sizeof(struct Studente); posizione = dim_record*(mat-1); //mi posiziono con il file-pointer prima del record da leggere fseek(fp,posizione, 0); //Leggo il record che mi interessa fread(&alunno, dim_record, 1, fp); fclose(fp); Vedi codice esempio: Lettura_Studente.cpp Unità didattica D1 24

25 1.4.4) I file con dati a blocco, Lettura record Esempio di Lettura dell intero file: Studente Classe [50]; dim_record=sizeof(struct Studente); fp = fopen ( "Classe4A.txt", "r" ); //determino il numero di record presenti nel file fseek(fp, 0, 2); dim_file = ftell(fp); n_record = dim_file/dim_record; //mi riposiziono all'inizio del file fseek(fp, 0, 0); //leggo l intero file e ripongo i record nella prima parte del vettore Classe[] N = fread(classe, dim_record, n_record, fp); cout << "Sono stati letti: " << N << " byte dal file" << endl; fclose (fp); Vedi codice esempio: Lettura Intero file.cpp Unità didattica D1 25

26 1.4.5) I file con dati a blocco, Scrittura record L operazione di scrittura di record viene effettuata tramite la funzione: N = fwrite(<ind_variabile>, <Dim_Blocco>, <Num_Blocchi>, <Identi.>) Ind_Variabile Dim_Blocco Num_Blocchi Identi. N Indirizzo della struttura da cui attingere i blocchi che si vuole scrivere Esempi: &Alunno scrive un solo blocco record; Classe scrive più blocchi record da prelevare da una struttura Array di Record (Classe[]); Dimensione in byte del singolo blocco (ricavabile con sizeof() ) Numero di Blocchi che si vogliono scrivere (1 o più) File-Pointer del file sul quale si vuole operare in scrittura Numero di Blocchi effettivamente scritti Unità didattica D1 26

27 1.4.5) I file con dati a blocco, Scrittura record Esempio di scrittura singolo record: Studente Alunno; fp = fopen ( "Classe4A.txt", "a" ); dim_record=sizeof(alunno); //acquisizione dei dati di un singolo studente cout << "Inserire il Nome: "; cin >> Alunno.nome; cout << "Inserire il Cognome: "; cin >> Alunno.cognome; cout << "Inserire la data di Nascita: "; cin >> Alunno.DataNascita; cout << "Inserire la matricola: "; cin >> Alunno.matricola; cout << "Inserire il Sesso: "; cin >> Alunno.sesso; cout << endl; // accodo il record dello studente nel file Classe4A.txt N = fwrite (&Alunno, dim_record, 1, fp ); cout << "Sono stati scritti: " << N << " studenti nel file" <<endl; fclose (fp); Vedi codice esempio: Scrittura_Studente.cpp Unità didattica D1 27

28 1.4.6) Operazione di lettura e scrittura di dati semplici (non record) Lettura di dati semplici da file E possibile operare in lettura più dati omogenei semplici analogamente a quanto già fatto per la lettura di dati strutture. Esempio 1: Esempio 2: char Vettore [150]; fp = fopen ( "testo.txt", "r" ); //Leggo 10 catatteri dal file (ogni carattere 1 byte) N = fread (Vettore, 1, 10, fp ); int Vettore [150]; fp = fopen ( "Numeri.dat", "r" ); //Leggo 10 numeri interi dal file N = fread (Vettore, sizeof(int), 10, fp ); for (i=0; i<10; i++) cout << Vettore[i] << endl; Vedi Esempio: Lettura_Dati_Semplici.cpp; LetturaNumeri.cpp; Unità didattica D1 28

29 1.4.6) Operazione di lettura e scrittura di dati semplici (non record) Scrittura di dati semplici da file E possibile operare in scrittura più dati omogenei semplici analogamente a quanto già fatto per la scrittura di dati strutture. Esempio 1: Esempio 2: char Vettore [150] = {"Inviato: soluzione Titolo: soluzione "} fp = fopen ( "testo.txt", "w" ); dim_elem = sizeof(vettore[0]); N = fwrite (Vettore, dim_elem, 36, fp ); fclose (fp); int Vettore [150] = {23, 46, 34, 12, 890, 2345, 234, 345, 32, 12}; fp = fopen ( "Numeri.dat", "w" ); dim_elem = sizeof(int); // OPPURE: dim_elem = sizeof(vettore[0]); N = fwrite (Vettore, dim_elem, 10, fp ); cout << "Sono stati scritti: " << N << " elementi"; fclose (fp); Vedi Esempio: Scrittura_Dati_Semplici.cpp; ScritturaNumeri.cpp; Unità didattica D1 29

30 1.5) La cancellazione logica e la cancellazione fisica All interno di un file random, i record non possono essere cancellati fisicamente a meno di ricopiare l intero file in un nuovo file escludendo i record che si vogliono cancellare fisicamente. Si ricorre quindi all artificio di effettuare una cancellazione logica dei record che non interessano e successivamente si effettua una cancellazione fisica con la tecnica della riscrittura di un nuovo file. Unità didattica D1 30

31 1.5) La cancellazione logica e la cancellazione fisica Cancellazione Logica: Nella definizione del record da usare, viene inserito un campo Cancellato ad esempio di tipo booleano usato per contrassegnare i record che si vogliono cancellare logicamente pur lasciandoli all interno del file. Il programma sarà scritto in modo tale da considerare: cancellati tutti i file che conterranno il campo Cancellato a True (1) non cancellati i record che conterranno il campo Cancellato a False. (0) Unità didattica D1 31

32 1.5) La cancellazione logica e la cancellazione fisica Esempio: struct Studente { char nome[20]; char cognome[20]; char DataNascita[10]; int matricola; char sesso; int Cancellato; } Alunno; dim_record=sizeof(struct Studente); posizione = dim_record*(12-1) //mi posiziono con il file-pointer prima del record 12 da leggere fp = fopen ( "Classe4A.txt", "r" ); fseek(fp,posizione, 0); fread(&alunno, dim_record, 1, fp); //Leggo il record che mi interessa fclose(fp); Alunno.Cancellato=1; fp = fopen ( "Classe4A.txt", w" ); fseek(fp,posizione, 0); fwrite(&alunno, dim_record, 1, fp); fclose(fp); Si è operata la cancellazione logica dello studente posto nella posizione 12 all interno del file (senza eliminarlo fisicamente) Unità didattica D1 32

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

Gestione dei files. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Via Leopardi 132 Gestione dei files Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Via Leopardi 132 Struttura del disco fisso Un disco fisso è composto da una serie di piatti sovrapposti Ogni piatto è

Dettagli

Linguaggio C: i file

Linguaggio 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

Dettagli

Laboratorio di Programmazione

Laboratorio di Programmazione Laboratorio di Programmazione (Laurea triennale in matematica) Lezione 26 Sommario: Gestione dei file in C. File ad accesso sequenziale: apertura, chiusura, lettura e scrittura. File binari. Gestione files

Dettagli

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 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

Dettagli

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

DIPARTIMENTO 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

Dettagli

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

I 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

Dettagli

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

DIPARTIMENTO 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

Dettagli

Operazioni su file di caratteri

Operazioni 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

Dettagli

Un file è un astrazione di memorizzazione di dimensione potenzialmente illimitata (ma non infinita), ad accesso sequenziale.

Un 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

Dettagli

Gestione dei File. Credits Prof. Campi

Gestione 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è

Dettagli

PROVA SCRITTA 23 MARZO 2010

PROVA SCRITTA 23 MARZO 2010 PROVA SCRITTA 23 MARZO 2010 In un file binario, MY_FILE.DAT, si memorizzano per ciascuno studente universitario: nome e cognome (stringhe, 20 char), matricola (intero), codice del corso di laurea (stringa

Dettagli

IL CONCETTO DI FILE. È illecito operare oltre la fine del file.

IL 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

Dettagli

Fondamenti di Informatica

Fondamenti 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

Dettagli

Trasformare array paralleli in array di record

Trasformare array paralleli in array di record Trasformare array paralleli in array di record Un array è una struttura di dati omogenea: gli elementi dell array sono tutti dello stesso tipo (che è il tipo dell array). A volte è necessario gestire informazioni

Dettagli

FILE BINARI FILE BINARI

FILE BINARI FILE BINARI FILE BINARI Un file binario è una pura sequenza di byte, senza alcuna strutturazione particolare È un'astrazione di memorizzazione assolutamente generale, usabile per memorizzare su file informazioni di

Dettagli

Files in C endofile

Files 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

Dettagli

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

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 15 Maggio 2013 File Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 15 Maggio 2013 Obiettivi Alcuni problemi aperti Il main() Allocazione dinamica della memoria Il salvataggio dei dati File File

Dettagli

Trasformare array paralleli in array di record

Trasformare array paralleli in array di record Trasformare array paralleli in array di record Un array è una struttura di dati omogenea: gli elementi dell array sono tutti dello stesso tipo (che è il tipo dell array). A volte è necessario gestire informazioni

Dettagli

Gestione dei file in C

Gestione 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

Dettagli

Trasformare array paralleli in array di record

Trasformare array paralleli in array di record Trasformare array paralleli in array di record Trasformare array paralleli in array di record Un array è una struttura di dati omogenea: gli elementi dell array sono tutti dello stesso tipo (che è il tipo

Dettagli

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

Gestione 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

Dettagli

Suggerimenti, note utili ed errori comuni. Fondamenti di informatica T

Suggerimenti, 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

Dettagli

A. Veneziani Files di record

A. Veneziani Files di record A. Veneziani Files di record Caratteristiche dei file di record I file di record si differenziano rispetto a quelli di testo per avere i dati memorizzati in un formato predefinito ben preciso suddiviso

Dettagli

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

GESTIONE 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

Dettagli

Esercizi. I File ed il C

Esercizi. 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

Dettagli

L AMBIENTE CODE BLOCKS E L IO

L AMBIENTE CODE BLOCKS E L IO L AMBIENTE CODE BLOCKS E L IO Il primo programma in C++ #include using namespace std; main() { cout

Dettagli

4. Accesso diretto per gli archivi con record a lunghezza costante

4. Accesso diretto per gli archivi con record a lunghezza costante 4. Accesso diretto per gli archivi con record a lunghezza costante Nell accesso diretto (in inglese, random) al file binario, le operazioni di lettura o scrittura devono essere precedute dall operazione

Dettagli

Gestione dei file. File di testo e binari

Gestione 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

Dettagli

! I file di testo non sono indispensabili: sono semplicemente comodi 1

! I file di testo non sono indispensabili: sono semplicemente comodi 1 Un file binario è una pura sequenza di byte, senza alcuna strutturazione particolare! È un'astrazione di memorizzazione assolu -tamente generale, usabile per memorizza -re su file informazioni di qualsiasi

Dettagli

puntatori Lab. Calc. AA 2006/07 1

puntatori Lab. Calc. AA 2006/07 1 puntatori Lab. Calc. AA 2006/07 1 Attributi di un oggetto nome o identificatore; tipo; valore (o valori); indirizzo; Lab. Calc. AA 2006/07 2 Indirizzo Consideriamo la dichiarazione con inizializzazione:

Dettagli

Tipi di dati strutturati e Linguaggio C. Record o strutture Il costruttore struct in C

Tipi di dati strutturati e Linguaggio C. Record o strutture Il costruttore struct in C Tipi di dati strutturati e Linguaggio C Record o strutture Il costruttore struct in C Dati strutturati Record Un record o struttura è una struttura dati ottenuta aggregando elementi di tipo diverso che

Dettagli

Corso di Fondamenti di Programmazione canale E-O. Strutture. Strutture. Definizione di strutture (2) Definizione di strutture (1)

Corso di Fondamenti di Programmazione canale E-O. Strutture. Strutture. Definizione di strutture (2) Definizione di strutture (1) Corso di Fondamenti di Programmazione canale E-O Tiziana Calamoneri Strutture e Unioni DD Cap. 10, pp. 379-391, 405-406 KP Cap. 9, pp. 361-379 Strutture Strutture Collezioni di variabili correlate (aggregati)

Dettagli

File binari e file di testo

File 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

Dettagli

L AMBIENTE CODE BLOCKS E L IO

L AMBIENTE CODE BLOCKS E L IO L AMBIENTE CODE BLOCKS E L IO Il primo programma #include main() { printf("ciao Mondo!"); } Il file deve essere salvato con estensione.c Il primo programma in C++ #include using

Dettagli

I FILE. Un FILE è una sequenza di elementi il cui numero può crescere indefinitamente in base alle esigenze (un file è perciò una struttura dinamica).

I FILE. Un FILE è una sequenza di elementi il cui numero può crescere indefinitamente in base alle esigenze (un file è perciò una struttura dinamica). I FILE Ogni volta che usiamo un programma, inseriamo dei dati in un eseguibile, quando il programma termina tutti i dati inseriti si perdono. L ideale sarebbe avere a disposizione un qualcosa che permette

Dettagli

Fondamenti di Informatica L-A

Fondamenti 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

Dettagli

Gestione dei file in C

Gestione 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

Dettagli

I files in C. A cura del prof. Ghezzi

I 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

Dettagli

GESTIONE DEI FILE. File come tipo di dati

GESTIONE DEI FILE. File come tipo di dati GESTIONE DEI FILE File come tipo di dati Nel linguaggio C, i file vengono trattati come un tipo di dati derivato, cioè ottenuto dai tipi elementari esistenti. In pratica, quando si apre e si gestisce un

Dettagli

Esercitazioni di Fondamenti di Informatica - Lez. 9 4/12/2018

Esercitazioni di Fondamenti di Informatica - Lez. 9 4/12/2018 Esercitazioni di Fondamenti di Informatica - Lez. 9 /1/018 Esercizi sulla gestione dei file in C Il codice degli esercizi e contenuto nella cartella parte1 1. Creare una funzione C che legga tutto cio

Dettagli

FILE BINARI FILE BINARI FILE BINARI. OUTPUT BINARIO: fwrite()

FILE 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

Dettagli

Il linguaggio C I file

Il linguaggio C I file Il linguaggio C I file mylib.c #include mylib.h int leggi(int a[], int dim) { int i=0; while( scanf("%d", a+i) ) { i++; if( i>=dim ) break; } return i; } void scambia(int *a, int *b) { int t; t = *a; *a

Dettagli

Gestione dei File C. Generalità

Gestione 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

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

Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune. Le strutture Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune. Dichiarazione di una struttura: struct point { int x; int y; }; La dichiarazione di una struttura

Dettagli

FILE BINARI. I file di testo non sono indispensabili: sono semplicemente comodi!

FILE 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

Dettagli

Gestione dei File in C

Gestione 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

Dettagli

Tipi strutturati - struct

Tipi strutturati - struct Fondamenti di Programmazione A Appunti per le lezioni Gianfranco Rossi Tipi strutturati - struct Struttura dati (concreta) struct: sequenza di n elementi (n 0), rispettivamente di tipo t1,,tn (non necessariamente

Dettagli

Linguaggio C Gestione File

Linguaggio C Gestione File Gestione File: Il file è l'unità logica di memorizzazione dei dati su memoria di massa, che consente una memorizzazione persistente dei dati non limitata dalle dimensioni della memoria centrale. Nel linguaggio

Dettagli

! I file di testo non sono indispensabili: sono semplicemente comodi 1. Sintassi:

! I file di testo non sono indispensabili: sono semplicemente comodi 1. Sintassi: Un file binario è una pura sequenza di byte, senza alcuna strutturazione particolare! È un'astrazione di memorizzazione assolu -tamente generale, usabile per memorizza -re su file informazioni di qualsiasi

Dettagli

Scrittura formattata - printf

Scrittura 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

Dettagli

File e puntatori a file

File 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

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Tipi Strutturati Parte 1 Introduzione G. Mecca M. Samela Università della Basilicata Tipi Strutturati: Introduzione >> Sommario Sommario Panoramica Alcuni Esempi

Dettagli

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

Gestione 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

Dettagli

FONDAMENTI 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 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

Dettagli

Puntatori. Obiettivi: Richiamare quanto noto sui puntatori dal modulo A Presentare l analogia tra puntatori e vettori e l aritmetica dei puntatori

Puntatori. Obiettivi: Richiamare quanto noto sui puntatori dal modulo A Presentare l analogia tra puntatori e vettori e l aritmetica dei puntatori Puntatori Obiettivi: Richiamare quanto noto sui puntatori dal modulo A Presentare l analogia tra puntatori e vettori e l aritmetica dei puntatori 1 Il puntatore Un tipo puntatore è un tipo scalare per

Dettagli

I 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. 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

Dettagli

Puntatori. Obiettivi: Richiamare quanto noto sui puntatori dal modulo A Presentare l analogia tra puntatori e vettori e l aritmetica dei puntatori

Puntatori. Obiettivi: Richiamare quanto noto sui puntatori dal modulo A Presentare l analogia tra puntatori e vettori e l aritmetica dei puntatori Puntatori Obiettivi: Richiamare quanto noto sui puntatori dal modulo A Presentare l analogia tra puntatori e vettori e l aritmetica dei puntatori 1 Il puntatore Un tipo puntatore è un tipo scalare per

Dettagli

Streams e disk files

Streams e disk files Streams e disk files Streams Un canale è una sequenza di byte di dati Sorgente o destinazione di dati che possono essere associati ad un disco o ad altre periferiche Due tipi di stream: Testo: sequenza

Dettagli

FILE BINARI FILE BINARI

FILE BINARI FILE BINARI FILE BINARI Un file binario è una pura sequenza di byte, senza alcuna strutturazione particolare È un'astrazione di memorizzazione assolutamente generale, usabile per memorizzare su file informazioni di

Dettagli

Gestione di files Motivazioni

Gestione 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)

Dettagli

Strutture Dati Dinamiche

Strutture Dati Dinamiche Strutture Dati Dinamiche Motivazioni Le variabili considerate fino a questo punto devono essere dichiarate staticamente, ossia la loro esistenza, il loro nome e la loro dimensione devono essere previsti

Dettagli

ESERCIZIO 1 (5 punti) Convertire in binario il valore, espresso in decimale, Si usi la rappresentazione in virgola fissa.

ESERCIZIO 1 (5 punti) Convertire in binario il valore, espresso in decimale, Si usi la rappresentazione in virgola fissa. PROVA SCRITTA DEL CORSO DI CORSO DI LAUREA IN INGEGNERIA BIOMEDICA ED ELETTRICA 23/9/2008 MOTIVARE IN MANIERA CHIARA LE SOLUZIONI PROPOSTE A CIASCUNO DEGLI ESERCIZI SVOLTI ESERCIZIO 1 (5 punti) Convertire

Dettagli

Sono file di caratteri, organizzati in linee. Ogni linea e` terminata da una marca di fine linea (newline, cara ttere '\n').

Sono 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

Dettagli

Lezione 11: Liste a Puntatori e Input/Output

Lezione 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)

Dettagli

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

Input/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

Dettagli

File binari, Operazioni sui File binari, Allocazione dinamica della memoria

File 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

Dettagli

Il linguaggio C. Breve panoramica su stdio.h

Il 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

Dettagli

La gestione dell'errore

La gestione dell'errore La gestione dell'errore Esiste una variabile globale intera, definita nell'header errno.h che viene settata nel caso in cui una chiamata di sistema non possa eseguire correttamente il suo compito. Tale

Dettagli

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

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

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Gestione dei File in MATLAB Prof. Christian Esposito Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) A.A. 2016/17 Gestione dei file in MATLAB OUTLINE Caratteristiche

Dettagli

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

Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune. Le strutture Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune. Dichiarazione di una struttura: struct point { int x; int y; }; La dichiarazione di una struttura

Dettagli

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

Informatica (A-K) 23. Linguaggio C -8 Modalità di accesso ai file Informatica (A-K) 23. Linguaggio C -8 Accesso sequenziale: in fase di lettura i dati possono essere ritrovati (sequenzialmente) scorrendo tutti i record del file a partire dal

Dettagli

Fondamenti di Informatica A. A / 1 9

Fondamenti di Informatica A. A / 1 9 Fondamenti di Informatica Prof. Marco Lombardi A. A. 2 0 1 8 / 1 9 Concetti Introduttivi 1/2 SQL (Structured Query Language) permette di manipolare i dati, interrogare un database relazionale e modellarne

Dettagli

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

GESTIONE 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

Dettagli

File file di testo file binari

File file di testo file binari File In C i file vengono distinti in due categorie: file di testo, trattati come sequenze di caratteri. organizzati in linee (ciascuna terminata da '\n') file binari, visti come sequenze di bit File di

Dettagli

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

Indice. 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

Dettagli

La copia di un file. contare di quanti caratteri sia composto il file (e quindi determinare la dimensione del file di origine)

La copia di un file. contare di quanti caratteri sia composto il file (e quindi determinare la dimensione del file di origine) La copia di un file Nell'esercizio di oggi cerchiamo di implementare un programma che permetta di effettuare la copia di un file di testo. L'operazione di copia, oltre a permettere di creare un nuovo file

Dettagli

ARCHIVI E FILE. Prof. Ciaschetti

ARCHIVI 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

Dettagli

FILE SEQUENZIALI E AD ACCESSO DIRETTO

FILE SEQUENZIALI E AD ACCESSO DIRETTO FILE SEQUENZIALI E AD ACCESSO DIRETTO L input-output astratto (stream) Le periferiche disponibili in un sistema di elaborazione sono, dal punto di vista hardware, anche molto diverse fra di loro anche

Dettagli

Tipi user-defined. parte dichiarativa globale:

Tipi user-defined. parte dichiarativa globale: Il C mette a disposizione un insieme di tipi di dato predefiniti (tipi built-in) e dei meccanismi per definire nuovi tipi (tipi user-defined) Vediamo le regole generali che governano la definizione di

Dettagli

FILE BINARI. I file di testo non sono indispensabili: sono semplicemente comodi 1

FILE 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

Dettagli

Università degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Stringhe. Anno Accademico 2010/2011 Francesco Tortorella

Università degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Stringhe. Anno Accademico 2010/2011 Francesco Tortorella Corso di Informatica Tipi strutturati: Stringhe Anno Accademico 2010/2011 Francesco Tortorella Stringhe di caratteri La stringa è il tipo strutturato con cui vengono rappresentati gruppi di caratteri quali

Dettagli

Input/output console file caratteri stringhe formattato ascii binari

Input/output console file caratteri stringhe formattato ascii binari Input/output Input/Output Input/output console file caratteri stringhe formattato ascii binari La libreria standard del C La libreria standard del C è in realtà un insieme di librerie Per usare una libreria,

Dettagli

Tipi definiti dall'utente

Tipi definiti dall'utente Tipi definiti dall'utente Tipi definiti Il C mette a disposizione un insieme di tipi di dato predefiniti (tipi built-in) e dei meccanismi per denire nuovi tipi (tipi user-defined) Possiamo: Ridenominare

Dettagli

Unità Didattica 5 Linguaggio C. Stringhe. Accesso a file ASCII. Strutture.

Unità 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

Dettagli

Corso 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 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

Dettagli

Introduzione al C. Stream e disk file

Introduzione 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:

Dettagli

Le strutture /1. struct temp {char titolo[200]; char autore[100]; int pagine; } ; typedef struct temp libro;

Le strutture /1. struct temp {char titolo[200]; char autore[100]; int pagine; } ; typedef struct temp libro; Le strutture /1 Le strutture rappresentano un tipo di variabile che, diversamente dagli array, consente di gestire in modo compatto, mediante un'unico identificatore, un insieme di valori che non possiedano

Dettagli

Corso di Fondamenti di Informatica Tipi strutturati: Stringhe

Corso di Fondamenti di Informatica Tipi strutturati: Stringhe Corso di Fondamenti di Informatica Tipi strutturati: Stringhe Anno Accademico Francesco Tortorella Stringhe di caratteri La stringa è il tipo strutturato con cui vengono rappresentati gruppi di caratteri

Dettagli