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

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "DOTT. ING. LEONARDO RIGUTINI DIPARTIMENTO INGEGNERIA DELL INFORMAZIONE UNIVERSITÀ DI SIENA VIA ROMA 56 53100 SIENA UFF. 0577234850-7102 RIGUTINI@DII"

Transcript

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

2 Gestione files Trattamento dei file in C I file sono contenitori di informazione permanenti (memorizzati sulla memoria di massa) che spesso vanno oltre la vita di un programma: esistono prima della sua esecuzione e continuano ad esistere anche dopo che il programma è terminato. Programmi scritti in linguaggi diversi devono poter manipolare l informazione contenuta nei file chiedendo l intervento del sistema operativo per creare, scrivere, leggere e cancellare file.

3 Gestione File Un file contente informazioni può essere stato creato da programmi scritti in linguaggi diversi Può contenere un programma scritto mediante un word processor e successivamente compilato, può contenere una base dati creata da appositi programmi (es. access) oppure può contenere informazioni elaborate dal programma. Sulla gestione dei file nei linguaggi di programmazione ci sono punti controversi: la tendenza è quella di non definire affatto tale gestione come parte del linguaggio.

4 Gestione file Nel C invece si ha una definizione precisa del trattamento dei file disponibile attraverso la standard library. Il S.O. mostra al programmatore le periferiche di I/O come file: questo permette che il programmatore possa realizzare un operazione di scrittura su di una periferica semplicemente scrivendo in un particolare file che rappresenta quella periferica. Similarmente è possibile fare una operazione di lettura da un device come una operazione di lettura dal particolare file. Ogni S.O. ha un dispositivo standard di output ed un dispositivo standard di input. Essi sono indicati con stdout e stdin.

5 Gestione File Il file può essere visto quindi come un contenitore di informazione memorizzato su memoria di massa ma anche come il rappresentante di un dispositivo di ingresso/uscita.

6 Flussi, file e programmi Un programma C che desidera utilizzare un file per operazioni di I/O deve aprire un flusso di comunicazione indicando al sistema operativo la sua intenzione di aprire un file esistente o la necessità di creare e aprire un nuovo file. Al termine dell insieme di operazioni che coinvolgono quel file il flusso di comunicazione viene chiuso chiudendo il file utilizzato. Per aprire un flusso di comunicazione un programma C deve dichiarare una variabile di tipo puntatore e chiedere l apertura del flusso tramite una funzione apposita che richiede al S.O. la creazione di nuovo file o l apertura di uno esistente.

7 Flussi, file e programmi C L apertura del flusso di comunicazione provoca l assegnamento della variabile puntatore. Il valore assunto dal puntatore viene poi utilizzato all interno del programma per riferire al particolare flusso di comunicazione aperto. La chiusura del flusso di comunicazione impedisce ulteriori riferimenti al file precedentemente utilizzato.

8 Flussi, file e programmi Esistono due tipi di flussi che possono essere aperti da un programma C: - Flusso di comunicazione binario - Flusso di comunicazione di tipo testo Tutte le operazioni successive sul file tratteranno il flusso in maniera dipendente dalla modalità di apertura. File binario un file binario è una sequenza di byte, senza alcuna interpretazione da parte del S.O. che interfaccia il programma con il flusso; File di testo un file testuale è una sequenza di caratteri normalmente suddivisa in linee terminate da un carattere di newline.

9 Flussi, file e programmi C Abbiamo detto che un operazione di apertura di flusso di comunicazione assegna un indirizzo alla variabile puntatore prescelta. La struttura dati utilizzata in C per gestire i file è FILE. In particolare, la funzione di apertura di un file restituisce un puntatore ad un oggetto di tipo FILE: FILE * fp;

10 Flussi, file e programmi C FILE è un tipo strutturato con alcuni campi utili a registrare tutte le informazioni tipiche di un file: - Modalità di utilizzo (lettura, scrittura o entrambi) - Posizione corrente nel file - Un campo indicatore di errore che registra il presentarsi di un errore di lettura/scrittura - Un campo contenente un indicatore di end-of-file (eof) che indica se è stata raggiunta la fine del file E importante notare come sia il sistema operativo a manipolare i campi della struttura di tipo FILE; l utente ne provoca la manipolazione indiretta invocando le apposite funzioni.

11 Flussi, file e programmi C Esistono tre flussi standard che sono automaticamente aperti quando è avviato un programma: stdin, stdout e stderr. Questi tre flussi sono associati ai file che rappresentano il video del terminale (stdout e stderr) o la tastiera del terminale (stdin). Stdout, stderr e stdin sono le tre variabili puntatore ai descrittori di tali file e il loro valore viene assegnato quando inizia l esecuzione di un programma.

12 Operazioni su file Quasi tutte le funzioni principali per la gestione dei file restituiscono un valore che consente di conoscere l esito dell operazione. Le funzioni in esame riguardano le operazioni di apertura, chiusura, cancellazione e ridenominazione di un file.

13 Apertura FILE *fopen(nomefile,modalita) La funzione fopen apre un file eventualmente creandolo e vi associa un flusso: essa restituisce l indirizzo alla struttura di tipo FILE che descrive il file aperto. La funzione riceve in ingresso il nome del file da aprire da aprire ed un indicatore della modalità di apertura che determina le operazioni possibili sul file. Le modalità di apertura possibili sono: - r per lettura in modalità testo - w per la scrittura in modalità testo dall inizio del file - a per la scrittura in modalità testo partendo datla fine del file - rb, wb ed ab, le modalità equivalenti nel caso di file binario

14 Chiusura int fclose(file * fp) La funzione fclose chiude il file a cui fa riferimento il puntatore fp. La chiusura comporta comporta l assegnamento del valore NULL a fp ed il rilascio del descrittore di tipo FILE. Se l operazione è eseguita correttamente essa restituisce un risultato uguale a 0 altrimenti viene restituito il valore particolare EOF

15 Rimozione int remove(nomefile) La funzione cancella il file identificato da nomefile. Essa restituisce 0 se l operazione è stata eseguita in maniera corretta, un valore diverso da 0 altrimenti. Se si cerca di cancellare un file aperto il comportamento della funzione dipende dall implementazione.

16 Rinominazione int rename(vecchionome,nuovonome) La funzione consente di modificare il nome di un file da vecchionome a nuovonome. Essa restituisce 0 nel caso l operazione sia stata eseguita correttamente ed un valore diverso da 0 altrimenti.

17 Gestione degli errori Nella struttura FILE esistono campi destinati a registrare le varie situazioni di errore. Un tentativo di leggere dati dopo che è stata raggiunta la fine del file provoca il verificarsi della condizione di fine file (EOF o end-of-file). Il campo eof registra il verificarsi di tale situazione. Il campo error, invece, registra errori di diversa natura verificatisi durante una operazione che coinvolge il file.

18 Gestione degli errori Il programmatore può verificare il contenuto di tali campi utilizzando due apposite funzioni: feof e ferror Il programmatore può così verificare se è stata raggiunta la fine del file durante una scansione del file oppure se l errore è stato di altra natura. int ferror(file * fp) Questa funzione controlla se è stato commesso un errore in una precedente operazione sul file fp. Essa restituisce 0 se nessun errore è stato commesso, un valore diverso da zero in caso contrario.

19 Gestione degli errori int feof(file * fp) Questa funzione controlla se è stata raggiunta la fine del file (eof) nella precedente operazione sul file. Essa restituisce 0 se la condizione di EOF è stata raggiunta ed un valore diverso da 0 in caso contrario. void clearerr(file * fp) Riporta al valore di default i due campi eof ed error.

20 Scrittura int printf(controllo, elementi) La funzione stampa su stdout la stringa di caratteri rappresentata da controllo. Essa può essere costituita da due tipi di elementi: caratteri semplici che sono semplicemente copiati sul dispositivo stdout e caratteri di conversione o di formato (introdotti dal carattere %) che determinano come devono essere stampati gli argomenti successivi. Esempio: printf( Lo stipendio annuo dei dipendenti della categoria %d è pari a %f, categoria, stip_medio); Questa istruzione stampa la frase Lo stipendio ecc sostituendo ai caratteri di controllo %d e %f il contenuto delle variabili categoria (al posto di %d) e stip.medio (al posto di %f).

21 Scrittura I caratteri di formato più comuni sono: - %d, stampa di un numero decimale; - %f, stampa di un numero reale floating point; - %c, stampa di un carattere; - %s, stampa di una stringa di caratteri. Essi sono detti caratteri di conversione poiché provocano la conversione in caratteri necessaria per la stampa. La stringa di controllo consente la specifica del formato di stampa: l insieme degli elementi da stampare è una lista di variabili, di costanti o di espressioni che costituiscono i rimanenti parametri della fuznione printf. Il simbolo \n provoca una salto a nuova riga per la successiva scirttura.

22 Lettura int scanf(controllo, *elementi) Anche scanf richiede la specifica di una stringa di controllo e di un insieme di elementi. La stringa di controllo può contenere diversi tipi di oggetti. Essa può contenere: - space characters (spazio, tabulazione e ritorno a capo) che permettono di oltrepassare una o più istanze una o più istanze di tale carattere posizionandosi sul primo carattere diverso da esso - caratteri di conversione o di formato (introdotti da %) che come per printf determinano il formato con cui devono essere letti gli argomenti successivi. Essa consente per cui come devono essere interpretati i caratteri letti da tastiera: se come numeri interi decimali %d, se come numeri reali %f, se come caratteri %c o come stringhe %s. Nella lista degli elementi da leggere compaiono i nomi delle variabili in cui si desidera memorizzare i valori estratti durante la lettura.

23 Lettura Esempio: scanf( %c%c%c%d%f, &c1,&c2,&c3,&i,&x); Se al momento dell esecuzione dell istruzione l utente inserisce i seguenti dati ABC , le variabili c1,c2 e c3 contengono i caratteri A,B e C; la variabile i contiene il valore 3 (decimale) mentre la variabile x assume valore (di tipo float).

24 Lettura e scrittura su file int fprintf(file * fp, controllo, elementi) Lavora identicamente alla funzione printf; la differenza sta nel fatto che è possibile specificare il FILE su cui effettuare l operazione di scrittura. int fscanf(file * fp, controllo, *elementi) Lavora come la funzione scanf: la differenza sta nel fatto che è possibile specificare il FILE di input da cui leggere i dati (FILE * fp).

25 Lettura e scrittura di caratteri Per leggere e scrivere caratteri su file esistono 6 differenti funzioni: int getchar(void) legge da standard input il prossimo carattere restituendolo come intero. int putchar(int c) scrive come prossimo carattere sullo standard output il carattere c. int getc(file * fp) e int fgetc(file * fp) leggono il prossimo carattere dal FILE fp. int putc(int c,file * fp) e int fputc(int c, FILE * fp) scrivono come prossimo carattere nel file fp il carattere c.

26 Lettura e scrittura di stringhe Le funzioni che consentono la lettura e scrittura di stringhe di caratteri su file. char * gets(char * s) Legge caratteri dallo standard input fino a quando non viene letto un carattere di new line o la fine del file. s punta al primo elemento della stringa (array di char) in cui vengono memorizzati i caratteri letti. Non inserisce nel vettore il carattere di new line eventualmente incontrato bensì il terminatore di stringa, cioè il carattere \0.Restituisce il primo parametro (cioè s) se la lettura è eseguita correttamente, NULL in caso contrario.

27 Lettura e scrittura di stringhe int puts(char * s) Scrive sullo standard output il contenuto della stringa puntata da s, seguita da un carattere di newline ( \n ). Il carattere \0 terminatore di stringa non è inserito. Restituisce 0 se l operazione è stata eseguita correttamente, un valore diverso da 0 in caso contrario. char * fgets(char * s,int n, FILE *fp) Legge caratteri dal file fp fino a quando o non sono stati letti n-1 elementi, o non raggiunge un carattere di newline o non raggiunge la fine del file. s punta al primo elemento dell array di char in cui sono memorizzati i dati letti. Inserisce nel vettore il carattere di newline eventualmente incontrato ed inserisce nel vettore il terminatore di stringa \0. Restituisce il primo parametro (cioè la stringa s) se l operazione è stata eseguita correttamente, NULL in caso contrario.

28 Lettura e scrittura di stringhe int fputs(char * s,file * fp) scrive sul file fp il contenuto della stringa puntata da s. Il carattere \0 non è scritto. Restituisce 0 se l operazione è stata eseguita correttamente, un valore diverso da 0 in caso contrario.

29 Lettura e scrittura di strutture (accesso per blocchi) E possibile accedere in lettura o in scrittura ai dati di un file leggendo o scrivendo un intero blocco di dati testuali o binari. int fread(void * ptr, dim_elemento, num_elementi, FILE * fp) Legge un blocco di dati binari o testuali dal FILE fp e li memorizza nell array puntato da ptr. La funzione termina correttamente se legge il numero di byte richiesti (specificati da dim_elemto x num_elementi) oppure se incontra la fine del file o se si verifica un errore di lettura. La funzione restituisce il numero di elementi effettivamente letti: se tale numero è inferiore al numero richiesto è necessario usare feof o ferror per capire i motivi del (mal)funzionamento ottenuto.

30 Lettura e scrittura di strutture (accesso per blocchi) int fwrite(void * ptr, dim_elemento, num_elementi, FILE * fp) Scrive un blocco di dati binari o testuali sul FILE fp prelevandoli dalla struttura identificata da ptr. La funzione termina correttamente se scrive il numero di byte richiesti (dim_elemento x num_elementi)oppure se incontra la fine del file o se si verifica un errore di scrittura. La funzione restituisce il numero di elementi effettivamente scritti: se tale numero è inferiore al numero richiesto è necessario usare feof o ferror per capire i motivi del (mal)funzionamento ottenuto.

31 Accesso diretto In alcuni casi può essere utile accedere direttamente ad un particolare byte all interno di un file: tale modalità è chiamata accesso diretto, in contrapposizione alle modalità viste fino ad adesso che sono ad accesso sequenziale. int fseek(file * fp, long offset, int ref_point) consente di spostare l indicatore di posizione per effettuare accessi diretti al FILE fp. Lo scostamento offset che può assumere valori positivi e negativi ed è espresso in byte,si riferisce alla posizione fissa indicata da ref_point. Quest ultimo può assumere tre diversi valori: SEEK_SET indica uno scostamento rispetto all inizio del file, SEEK_CURR indica uno scostamento rispetto alla posizione corrente ed SEEK_END indica uno scostamento rispetto alla fine del file. La funzione resituisce 0 se l operazione è corretta, un valore diverso da 0 altrimenti.

32 Accesso diretto long ftell(file * fp) resitutisce il valore corrente dell indicatore di posizione del FILE fp. Per file binari la posizione è il numero di byte rispetto all inizio del file, mentre per file testuali è un valore dipendente dall implementazione. int rewind(file * fp) altera il valore di posizione corrente nel FILE fp assegnandogli il valore di inizio file. Essa equivale alla istruzione fseek(f,0,seek_set);

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

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

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

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

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

GESTIONE DEI FILE IN C

GESTIONE DEI FILE IN C GESTIONE DEI FILE IN C Il concetto di file.. è una parte logicamente contigua del contenuto di un dispositivo! Deve essere capace di memorizzare grandi quantità di dati! I dati memorizzati devono sopravvivere

Dettagli

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

I file. un file è una sorgente/destinazione di dati per diversi attori I file Il file è un astrazione molto ampia nella descrizione di un sistema informatico: Il concetto di file è uno snodo fondamentale di flussi di informazione anche tra applicazioni diverse un file è una

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

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

L accesso ai dispositivi esterni (tastiera, monitor, file,...) viene gestito mediante canali di comunicazione. I file L accesso ai dispositivi esterni (tastiera, monitor, file,...) viene gestito mediante canali di comunicazione. I canali, sono delle strutture dati che contengono informazioni sul dispositivo fisico,

Dettagli

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

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

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

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 13/03/07 Nota Questi lucidi sono tratti

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

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

FILE: tipo operazione Istruì. prototipo esempi lettura di un carattere fgetc Int fgetc(file *flusso) Vedi sotto FILE: tipo operazione Istruì. prototipo esempi lettura di un carattere fgetc Int fgetc(file *flusso) Vedi sotto alla volta Scrittura di un fputc Int fputc(int ch, FILE *flusso); carattere alla volta Lettura

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

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

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C 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

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

Introduzione 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

Dettagli

file fisico file logico

file fisico file logico I files Un file è una struttura di dati residente su una memoria di massa (file fisico) Un programma vede un file come una sequenza di bytes (file logico) Generalizzando, un file può comprendere qualsiasi

Dettagli

Struttura dei programmi C

Struttura dei programmi C Programmi C Struttura dei Programmi C Dichiarazione delle variabili Operazioni di Ingresso/Uscita Fondamenti di Informatica 1 Struttura dei programmi C Un programma C deve contenere, nell'ordine: una parte

Dettagli

Capitolo 5 -- Stevens

Capitolo 5 -- Stevens Libreria standard di I/O Capitolo 5 -- Stevens Libreria standard di I/O rientra nello standard ANSI C perché è stata implementata su molti sistemi operativi oltre che su UNIX le sue funzioni individuano

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

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

Dettagli

Gestione dei File. dischi nastri cd

Gestione dei File. dischi nastri cd Gestione dei File Per mantenere disponibili i dati tra le diverse esecuzioni di un programma, questi si devono archiviare in file su memoria di massa (dati persistenti): dischi nastri cd Un file è un astrazione

Dettagli

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2009/2010

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2009/2010 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

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

I 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

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

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

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

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

Lab 10 Gestione file di testo

Lab 10 Gestione file di testo Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 10 Gestione file di testo Lab15 1 Esercizio 1 n Realizzare un programma che, aperto un file di testo di nome

Dettagli

Struttura dati FILE. Motivazioni: memorie a confronto

Struttura dati FILE. Motivazioni: memorie a confronto Struttura dati FILE Motivazioni: memorie a confronto La memoria centrale (RAM) è tecnologia elettronica basata su Le memorie secondarie sono basate su tecnologie magnetiche (HD) o ottiche (CD, DVD) Conseguenze

Dettagli

LP1 Lezione 13: i File in C. Maurizio Tucci

LP1 Lezione 13: i File in C. Maurizio Tucci LP1 Lezione 13: i File in C Maurizio Tucci mtucci@unisa.it 1 Il File: Dichiarazione Memorizzare dati in maniera non volatile In C (libreria ) è definito un tipo FILE che astrae il concetto di sequenza

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

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

Sulla libreria standard, III. Manipolare file con stdio.h

Sulla libreria standard, III. Manipolare file con stdio.h Sulla libreria standard, III Manipolare file con stdio.h 1 Libreria per input/output Con libreria si intende una collezione di sottoprogrammi che vengono utilizzati per lo sviluppo di software non eseguibili,

Dettagli

Puntatori. Fondamenti di Programmazione

Puntatori. Fondamenti di Programmazione Puntatori Fondamenti di Programmazione Funzioni utili stdio.h c = getchar(); restituisce un carattere letto da tastiera. Equivale a: scanf( %c, &c); putchar(c); scrive un carattere sullo schermo. Equivale

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

DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA. INFORMATICA B Ingegneria Elettrica. I file in Matlab

DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA. INFORMATICA B Ingegneria Elettrica. I file in Matlab INFORMATICA B Ingegneria Elettrica I file in Matlab I file I file sono contenitori di informazione: sequenze di byte associate ad un nome Sono memorizzati su memoria di massa (non- volatile) Possono continuare

Dettagli

Aritmetica dei puntatori

Aritmetica dei puntatori Aritmetica dei puntatori Sui puntatori si possono anche effettuare operazioni aritmetiche, con opportune limitazioni somma o sottrazione di un intero sottrazione di un puntatore da un altro Somma e sottrazione

Dettagli

Compendio sottoinsieme del C++ a comune col C. (Libreria standard, Input/Output, Costanti, Dichiarazioni e typedef, Memoria Dinamica)

Compendio sottoinsieme del C++ a comune col C. (Libreria standard, Input/Output, Costanti, Dichiarazioni e typedef, Memoria Dinamica) Compendio sottoinsieme del C++ a comune col C (Libreria standard, Input/Output, Costanti, Dichiarazioni e typedef, Memoria Dinamica) Librerie 1/2 Il solo insieme di istruzioni di un linguaggio di programmazione

Dettagli

Input/Output. Console e File.

Input/Output. Console e File. Input/Output Console e File http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Introduzione Le istruzioni di stampa servono a rendere visibili

Dettagli

I puntatori. Un puntatore è una variabile che contiene l indirizzo di un altra variabile. puntatore

I puntatori. Un puntatore è una variabile che contiene l indirizzo di un altra variabile. puntatore I puntatori Un puntatore è una variabile che contiene l indirizzo di un altra variabile. puntatore...... L operatore & fornisce l indirizzo di un oggetto: p = &c; assegna a p l indirizzo di c, i.e., p

Dettagli

Introduzione al Linguaggio C

Introduzione al Linguaggio C Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C

Dettagli

Array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 11. A. Miola Dicembre 2007

Array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 11. A. Miola Dicembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 11 Array A. Miola Dicembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Array 1 Contenuti Il problema degli studenti da promuovere

Dettagli

Formattazione avanzata. I/O Avanzato e File. Formattazione dell output. Formattazione avanzata. Forma completa degli specificatori

Formattazione avanzata. I/O Avanzato e File. Formattazione dell output. Formattazione avanzata. Forma completa degli specificatori Formattazione avanzata Modificatori di o in output Modificatori di o in input Stream predefiniti I/O Avanzato e File 2 Formattazione dell output Formattazione avanzata L output (su schermo o su file) viene

Dettagli

Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni. Lab 06 Array" Lab06 1

Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni. Lab 06 Array Lab06 1 Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 06 Array" Lab06 1 Esercizio 1" n Creare un programma che legga da input un numero non noto a priori di interi

Dettagli

Input/Output di numeri

Input/Output di numeri Input/Output di numeri I/O di numeri Per utilizzare le funzioni di I/O occorre include il file di intestazione (o file header) stdio.h utilizzando all inizio del sorgente la direttiva #include

Dettagli

Laboratorio di Informatica Ingegneria Clinica Lezione 30/11/2011

Laboratorio 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

Dettagli

Introduzione a. Funzioni di Ingresso e Uscita. Compilazione

Introduzione a. Funzioni di Ingresso e Uscita. Compilazione Introduzione a Funzioni di Ingresso e Uscita Compilazione 2 Come si termina...... un programma in esecuzione (processo)? Ctrl + C In UNIX ci si basa sul concetto di terminale Anche da GUI, quello che si

Dettagli

2) FILE BINARI: è una sequenza di byte avente una corrispondenza uno a uno con la sequenza ricevuta dal dispositivo esterno.

2) FILE BINARI: è una sequenza di byte avente una corrispondenza uno a uno con la sequenza ricevuta dal dispositivo esterno. Tipo File Per memorizzare un dato su un supporto magnetico come un hard disk o un nastro, o più in generale su un'unità di memoria di massa viene utilizzata un tipo di dato chiamato file. Un file può essere

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

Caratteri e stringhe

Caratteri e stringhe Caratteri e stringhe Caratteri Dato che un computer può memorizzare esclusivamente sequenze di bit, per memorizzare un carattere (e quindi testi) è necessario stabilire una convenzione che associa a un

Dettagli

MATLAB: FILES. Informatica B/C - A.A. 2013/2014

MATLAB: FILES. Informatica B/C - A.A. 2013/2014 MATLAB: FILES Informatica B/C - A.A. 2013/2014 I FILE Contenitori di informazione: sequenze di byte associate ad un nome Sono memorizzati su memoria di massa (non-volatile) Possono continuare ad esistere

Dettagli

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

Librerie C. Corso di Linguaggi e Traduttori 1 AA Corso di Linguaggi e Traduttori 1 AA stdio.h Corso di Linguaggi e Traduttori 1 AA 2004-05 1 Corso di Linguaggi e Traduttori 1 AA 2004-05 stdio.h 2 Funzioni comuni di I/O? Le piu' comuni funzioni che permettono I/O sono getchar() e putchar():? int

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

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

Le librerie standard. ! La libreria standard del C è in realtà un insieme di librerie ! La libreria standard del C è in realtà un insieme di librerie! Per usare una libreria, non occorre inse -rirla esplicitamente nel progetto: ogni ambiente di sviluppo sa già dove cercarle! Ogni file sorgente

Dettagli

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

Esercizi 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

Dettagli

Espressione di chiamata di funzione

Espressione di chiamata di funzione Avvertenza Quanto segue NON è un libro, ma è una copia dei lucidi usati a lezione che NON sostituisce i libri di testo adottati e consigliati per l insegnamento di Informatica Generale. Questa copia è

Dettagli

IL PRIMO PROGRAMMA IN C

IL PRIMO PROGRAMMA IN C IL PRIMO PROGRAMMA IN C LO SCOPO Si vuole scrivere un programma in linguaggio C che chieda all utente di introdurre da tastiera due numeri interi e visualizzi il valore della loro somma sul video SOLUZIONE

Dettagli

Librerie C. Corso di Linguaggi e Traduttori 1 AA

Librerie C. Corso di Linguaggi e Traduttori 1 AA Corso di Linguaggi e Traduttori 1 AA 2004-05 1 Corso di Linguaggi e Traduttori 1 AA 2004-05 stdio.h 2 Funzioni comunidi I/O? Le piu' comuni funzioni che permettono I/O sono getchar() e putchar():? int

Dettagli

I/O INTERATTIVO. scanf: quello che è indispensabile sapere printf: quello che è utile sapere

I/O INTERATTIVO. scanf: quello che è indispensabile sapere printf: quello che è utile sapere I/O INTERATTIVO scanf: quello che è indispensabile sapere printf: quello che è utile sapere Input da tastiera Funzioni disponibili (tra le altre): scanf getchar Schema di funzionamento Tastiera Sistema

Dettagli

Lezione 8 Struct e qsort

Lezione 8 Struct e qsort Lezione 8 Struct e qsort Rossano Venturini rossano@di.unipi.it Pagina web del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start Esercizio 3 QuickSort strambo Modificare il Quicksort

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA6 A1 I file testo 1 Prerequisiti Programmazione base in Java Utilizzo di classi e oggetti Modello produttore consumatore Operazioni logiche su struttura file 2 1 Introduzione

Dettagli

Strutture dati e loro organizzazione. Gabriella Trucco

Strutture dati e loro organizzazione. Gabriella Trucco Strutture dati e loro organizzazione Gabriella Trucco Introduzione I linguaggi di programmazione di alto livello consentono di far riferimento a posizioni nella memoria principale tramite nomi descrittivi

Dettagli

SOMMARIO SU LETTURA E SCRITTURA (I/O) DEGLI STANDARD FILES

SOMMARIO SU LETTURA E SCRITTURA (I/O) DEGLI STANDARD FILES SOMMARIO SU LETTURA E SCRITTURA (I/O) DEGLI STANDARD FILES Con conversione di formato: int scanf (const char *format,... ) /* ritorna il numero di argomenti assegnati con successo altrimenti EOF se fine

Dettagli

Costanti e Variabili

Costanti e Variabili Parte 3 Costanti e Variabili Identificatori Un identificatore è un nome che viene associato a diverse entità (costanti, tipi, variabili, funzioni, ecc.) e serve ad identificare la particolare entità Gli

Dettagli

Il linguaggio C. Puntatori e dintorni

Il linguaggio C. Puntatori e dintorni Il linguaggio C Puntatori e dintorni 1 Puntatori : idea di base In C è possibile conoscere e denotare l indirizzo della cella di memoria in cui è memorizzata una variabile (il puntatore) es : int a = 50;

Dettagli

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

Sommario FONDAMENTI DI INFORMATICA 1. Il tipo FILE. Passaggio da standard I/O. LINGUAGGIO C Gestione dei file Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica (Industriale), Chimica, Meccanica, Elettrica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011

Dettagli

Primi passi col linguaggio C

Primi passi col linguaggio C Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Come introdurre un linguaggio di programmazione? Obiettivi: Introduciamo una macchina astratta

Dettagli

caratteri, immagini, suoni, ecc.

caratteri, immagini, suoni, ecc. Il linguaggio C Input e output I flussi di I/O L uso di buffer Apertura e chiusura di file Lettura e scrittura di dati La selezione di un metodo di I/O I/O non bufferizzato L accesso diretto a file Input

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

L Allocazione Dinamica della Memoria

L Allocazione Dinamica della Memoria L Allocazione Dinamica della Memoria Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania mpalesi@diit.unict.it http://www.diit.unict.it/users/mpalesi Sommario Questo documento

Dettagli

Passare argomenti al programma

Passare argomenti al programma Passare argomenti al programma Quando si invoca un programma è possibile passare degli argomenti ad esso durante la chiamata. Gli argomenti ricevuti saranno stringhe (array di char) quindi l insieme di

Dettagli

Processore Danilo Dessì. Architettura degli Elaboratori.

Processore Danilo Dessì. Architettura degli Elaboratori. Processore 8088 Architettura degli Elaboratori Danilo Dessì danilo_dessi@unica.it Subroutine Anche nel linguaggio assemblativo è possibile suddividere un programma in subroutine Per invocare una subroutine

Dettagli

Stringhe e allocazione dinamica della memoria

Stringhe e allocazione dinamica della memoria Stringhe e allocazione dinamica della memoria Esercizio Scrivere un programma strings.c che legge da standard input una sequenza di parole separate da uno o più spazi, e stampa le parole lette, una per

Dettagli

Corso di Laurea in Ingegneria Meccanica A-K. Fondamenti di Informatica A. A Gestione dei File. A.Pinto

Corso di Laurea in Ingegneria Meccanica A-K. Fondamenti di Informatica A. A Gestione dei File. A.Pinto Corso di Laurea in Ingegneria Meccanica A-K Fondamenti di Informatica A. A. 2011-2012 1 Memorizzazione dei dati su dispositivi di memoria esterna Dispositivi di memorizzazione secondaria sono: dischi,

Dettagli

Tipi di dati scalari (casting e puntatori) Alessandra Giordani Lunedì 10 maggio 2010

Tipi di dati scalari (casting e puntatori) Alessandra Giordani Lunedì 10 maggio 2010 Tipi di dati scalari (casting e puntatori) Alessandra Giordani agiordani@disi.unitn.it Lunedì 10 maggio 2010 http://disi.unitn.it/~agiordani/ I tipi di dati scalari I tipi aritmetici, i tipi enumerativi

Dettagli

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy

Dettagli

Funzioni di I/O per numeri. Input e output di valori numerici. Input formattato scanf. Stream preesistenti

Funzioni di I/O per numeri. Input e output di valori numerici. Input formattato scanf. Stream preesistenti Funzioni di I/O per numeri 2 Input e output di valori numerici Ver. 2.4.2 2012 - Claudio Fornaro - Corso di programmazione in C Per utilizzare le funzioni di Input/Output bisogna includere il file di intestazione

Dettagli

Una stringa di caratteri in C è un array di caratteri terminato dal carattere '\0' a p e \0

Una stringa di caratteri in C è un array di caratteri terminato dal carattere '\0' a p e \0 STRINGHE: ARRAY DI CARATTERI Una stringa di caratteri in C è un array di caratteri terminato dal carattere '\0' s a p e \0 0 1 2 3 Un vettore di N caratteri può dunque ospitare stringhe lunghe al più N-1

Dettagli

Algoritmi, Strutture Dati e Programmi. UD 1.d: Dati e Tipi di Dato

Algoritmi, Strutture Dati e Programmi. UD 1.d: Dati e Tipi di Dato Algoritmi, Strutture Dati e Programmi : Dati e Tipi di Dato Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Dati: Variabili e Costanti Un algoritmo (e il programma che ne è rappresentazione)

Dettagli

LIBRERIE STANDARD in C. LIBRERIE STANDARD in C

LIBRERIE STANDARD in C. LIBRERIE STANDARD in C LIBRERIE STANDARD in C La libreria standard del C è in realtà un insieme di librerie Per usare una libreria, non occorre inserirla esplicitamente nel progetto: ogni ambiente di sviluppo sa già dove cercarle

Dettagli

Introduzione ai puntatori in C Definizione

Introduzione ai puntatori in C Definizione Introduzione ai puntatori in C Definizione Un puntatore è una variabile che contiene l indirizzo di un altra variabile Tramite i puntatori si può quindi accedere a un oggetto indirettamente (si usa il

Dettagli

Input/output in C e in C++

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

Dettagli

Definizione di file. Directory e file File binari e file di testo

Definizione di file. Directory e file File binari e file di testo I/O Avanzato e File Definizione di file Directory e file File binari e file di testo 5 Definizione di file Directory e file Tutti i sistemi operativi permettono di organizzare le informazioni su hard disk

Dettagli

Laboratorio di Algoritmi e Strutture Dati

Laboratorio di Algoritmi e Strutture Dati Laboratorio di Algoritmi e Strutture Dati Docente: Camillo Fiorentini 16 ottobre 2007 1 Rappresentazioni di caratteri in C In C un carattere è una costante intera il cui valore è dato dal codice ASCII

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

Capitolo 11 Elaborazione di file

Capitolo 11 Elaborazione di file 1 Capitolo 11 Elaborazione di file 11.1 Introduzione 2 I file Possono essere creati, modificati, ed elaborati da programmi scritti in C Sono utilizzati per la memorizzazione permanente dei dati La memorizzazione

Dettagli

Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.

Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. Linguaggio C Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. 1 Funzioni Generalizzazione del concetto di funzione algebrica: legge che associa a valori delle variabili

Dettagli

Gestione dinamica della memoria

Gestione dinamica della memoria Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2016-2017 Gestione dinamica della memoria Pietro Di Lena - pietro.dilena@unibo.it A pessimistic programmer sees the array as half empty.

Dettagli

STRINGHE: ARRAY DI CARATTERI! a p e \0

STRINGHE: ARRAY DI CARATTERI! a p e \0 STRINGHE: ARRAY DI CARATTERI! Una stringa di caratteri in C è un array di caratteri terminato dal carattere '\0' s a p e \0 0 1 2 3 Un vettore di N caratteri può dunque ospitare stringhe lunghe al più

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

Verso i puntatori: Cosa è una variabile?

Verso i puntatori: Cosa è una variabile? Verso i puntatori: Cosa è una variabile? Quando si dichiara una variabile, ad es. int a; si rende noto il nome e il tipo della variabile. Il compilatore alloca l opportuno numero di byte di memoria per

Dettagli

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi:

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi: Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 22 settembre 2014 TEMPO DISPONIBILE: 2 ore Negli

Dettagli

Perché il linguaggio C?

Perché il linguaggio C? Il linguaggio C 7 Perché il linguaggio C? Larga diffusione nel software applicativo Standard di fatto per lo sviluppo di software di sistema Visione a basso livello della memoria Capacità di manipolare

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

Array k-dimensionali

Array k-dimensionali Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Array k-dimensionali In C è possibile definire array con più dimensioni (ANSI C massimo k=12), per

Dettagli

Linguaggio C: introduzione

Linguaggio C: introduzione Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: introduzione La presente dispensa e da utilizzarsi

Dettagli