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

Dimensione: px
Iniziare la visualizzazioe della pagina:

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

Transcript

1 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 file o errore */ int printf (const char *format,... ) /* ritorna il numero di caratteri scritti o EOF se errore*/ Carattere per carattere: int getchar(void) /* ritorna il prossimo carattere di input come un unsigned char (convertito ad int), altrimenti EOF */ int putchar(int c) /* scrive c convertito ad unsigned char; ritorna il carattere scritto oppure EOF in caso di errore */ Linea per linea: char *gets(char *line) /* legge la prossima linea di input dentro l'array line rimpiazzando '\n' con '\0'; ritorna line oppure NULL se si determina fine file o errore */ int puts(const char *line) /* scrive i caratteri in line (fino a '\0' escluso) e aggiunge '\n'; ritorna EOF se si determina errore, zero altrimenti */ Unix ha tre standard files associati ad ogni terminale: standard input (per default la tastiera) standard output (per default il video) standard error (per default il video) che possiamo ridefinire così: denominato stdin denominato stdout denominato stderr comando di input (es. a.out) < file input preso da file comando di output (es. a.out) > file output diretto a file comando di output (es. a.out) > > file output appeso al file comando di output (es. a.out) 2 > file error sul file comando di output (es. a.out) & > file output ed error sul file

2 INPUT/OUTPUT (con conversione di formato) int printf (const char *format,... ); La notazione... indica che il numero dei parametri è variabile. /* ritorna il numero di caratteri scritti o EOF se errore */ /* la stringa format contiene sia caratteri ordinari, che vengono trascritti tali quali sia specifiche di conversione */ /* ogni specifica di conversione inizia con % e finisce con un carattere di conversione: altre opzioni sono: % - amp. prec char_conv amp è: ampiezza minima del campo (riempito di solito da destra, a meno che sia preceduto dal segno - che indica riempimento da sinistra ) prec è: per un int è il min num di cifre di stampa per un float è il num di cifre decimali dopo il. per una stringa di char è il max num di caratteri ( U n *.* al posto di amp. prec assegna ad amp e prec i due prossimi argomenti, che devono essere interi ) Un con conversione viene stampato come %d, %i decimale con segno %o ottale senza segno int(32) %x, %X esadecimale senza segno [o char(8)] %u decimale senza segno %c carattere (ultimo byte) %f [-]m.dddddd double (64) %e [-]d.dddddde+xx [o float (32)] %E [-]d.dddddde+xx %g,%g il meglio tra i tre precedenti char * %s tutti i caratteri fino a '\0' void * %p un indirizzo

3 int scanf (const char *format,... ); ritorna il numero di argomenti assegnati con successo oppure EOF. /* ogni argomento deve essere un pointer */ /* nel format blanks e tabs vengono ignorati; gli altri caratteri (diversi da %) devono invece combaciare perfettamente con i caratteri non white dell'input. I caratteri white sono: blank, tab, newline, carriage return, vertical tab, form feed */ /* ogni specifica di conversione inizia con %, finisce con un carattere di conversione e guida la conversione del prossimo campo di input. Un campo di input inizia con un non-white e si estende fino alla fine dei nonwhite o del numero di caratteri specificati da amp; unica eccezione è la lettura di un carattere. In pratica la lettura dei numeri termina al primo carattere non lecito, la lettura delle stringhe al primo carattere white. Le opzioni sono: % * amp char_conv * per saltare l'assegnazione (ed il campo di input) amp max campo di input Un con conversione deve leggere un %d decimale %i intero (dec. o ott. con 0 o int * esadecimale con 0x) %o ottale ( scritto con o senza 0) %x esad. (scritto con o senza 0x) unsigned int* %u intero dec senza segno %c il primo carattere char * %1s il primo carattere non white %s tutti i caratteri del campo float * %e, %f, %g foating point double * %le, %lf, %lg foating point Oss: un double si legge (senza differenza) con lf, le, lg ma si stampa (con differenza) con f, e, g.

4 SOMMARIO SU LETTURA E SCRITTURA (I/O) DI FILES NON STANDARD Con conversione di formato: int fscanf (File *fp, char *format,... ) /* come scanf, con la differenza che legge dal file fp */ int fprintf (File *fp, char *format,... ) /* come printf, con la differenza che scrive sul file fp */ Carattere per carattere: int getc (File *fp) /* come getchar, con la differenza che legge dal file fp */ int putc (int c, File *fp) /* come putchar, con la differenza che scrive sul file fp */ int ungetc (int c, FILE *fp) /* rimette il carattere c sul file fp e ritorna c, o EOF se errore */ Linea per linea: char *fgets(char *line,int maxline, FILE *fp) /* legge al più maxline-1 caratteri dentro line, terminando prima se incontra '\n'; il carattere '\n' è incluso nell'array che è terminata con '\0' ; ritorna line oppure NULL se incontra end of file o errore */ int fputs(const char *line, FILE *fp) /* scrive line (che non deve includere necessariamente '\n') sul file fp ; ritorna 0 oppure EOF se c'è errore */ Blocco per blocco: size_t fread(void *ptr,size_t size,size_t nobj,file *fp) size_t fwrite(void *ptr,size_t size,size_t nobj,file *fp) Oss. Ad eccezione delle funzioni fscanf() e fprintf(), che hanno fp come primo parametro, le altre lo hanno come ultimo parametro.

5 Su un file non standard aperto si scrive e si legge in modo simile a come si scrive o si legge sugli standard files. Esempio 1: #include <stdio.h> #include<stdlib.h> main() { char parola[30]; FILE *fp; if ((fp = fopen("nuovo","w")) == NULL) { puts("errore in apertura per scrivere"); ; fprintf(fp,"oggi e' il 4 dicembre\n"); fclose(fp); if ((fp = fopen("nuovo","r")) == NULL) { puts("errore in apertura per leggere"); while (fscanf(fp,"%s", parola)!= EOF) puts(parola); /* qui feof(fp) è diventata vera */ fclose(fp); return 0; Stampa: Oggi e' il 4 dicembre

6 GESTIONE DI FILES LETTURA E SCRITTURA (I/O) DI FILES NON STANDARD Sappiamo che quando un programma inizia, tre standard files vengono aperti automaticamente: stdin, stdout e stderr. Per poter leggere (o scrivere) un file non standard occorre aprirlo con la funzione FILE *fopen() in questo modo: FILE *fp; fp = fopen ("path_name_del_file", "r"); /* if (fp == NULL) */ La funzione fopen() ritorna NULL in caso di errore, altrimenti apre il file di nome path_name_del_file, lo associa ad un flusso (stream) di caratteri, memorizza in una struct FILE le informazioni su file e flusso e ritorna un pointer ad essa. Con "w" ( risp. "a") si apre il file per scrivere (risp. aggiungere) dati. L a struct FILE è definita in <stdio.h> ed è costituita da molti campi che contengono informazioni quali: nome del file modalità di accesso indicatore di posizione nel file indicatore di eof indicatore di error L ' indicatore di posizione nel file punta al successivo byte da leggere o scrivere: a fronte di operazioni di lettura/scrittura, il sistema operativo modifica l indicatore di posizione. Esso non può essere manipolato direttamente, ma può essere letto e modificato tramite funzioni di libreria. In C il termine file può riferirsi a un file su disco, al monitor, alla tastiera, a una porta, ecc. Mentre i files differiscono tra loro, gli streams sono uguali, cioè sono sequenze di bytes. Lo stream è quindi interfaccia uniforme ai files. Così l'i/o relativo ad un file diventa I/O di bytes di uno stream. Se si cerca di aprire un file inesistente per scrivere o aggiungere dati, il S.O. lo crea e scrive su di esso i dati, mentre se si cerca di aprire un file inesistente per leggerlo fopen ritorna NULL. Buona norma è chiudere un file aperto, se non serve più, con: fclose (fp); Comunque i files aperti vengono automaticamente chiusi quando un programma termina normalmente.

7 Ci sono due tipi di streams: text stream Un text stream (flusso testuale) è composto da una sequenza di linee, concluse da newline. Sistemi operativi diversi possono memorizzare linee con formati diversi, utilizzando ad esempio caratteri differenti di terminazione linea. (è usato con caratteri ASCII; può non esserci una corrispondenza oneto-one tra stream e ciò che c è nel file poichè qualche character translation può avvenire) binary stream Su un binary stream (flusso binario) il compilatore non effettua alcuna interpretazione dei byte: i bits di un byte sono letti e scritti come un flusso continuo. (è usato quando è fondamentale preservare l esatto contenuto del file; nessun character translation ; c è corrispondenza one-to-one tra stream e file). Di conseguenza ci sono vari modi per aprire un file. Mode r w a Meaning Open a text file for reading Create a text file for writing Append to a text file r+ Open a text file for read/write w+ Create a text file for read/write a+ Append or create a text file for read/write rb Open a binary file for reading wb Open a binary file for writing ab Append to a binary file r+b w+b a+b Open a binary file for read/write Create a binary file for read/write Append a binary file for read/write

8 Funzioni utili La chiamata feof(fp) ritorna un valore vero se si è raggiunta la fine del file associato con fp altrimenti ritorna 0 (su files binari feof(fp) diventa vera dopo la lettura dell ultimo dato scritto). La chiamata ferror(fp) ritorna un valore vero se durante la gestione del file associato con fp si è verificato un errore, altrimenti ritorna 0. La chiamata clearerr(fp) riporta ai valori di default i campi error ed eof della struct FILE del file associato con fp. La chiamata rewind(fp) posiziona la posizione corrente all inizio del file. Infine la chiamata exit (int) fa terminare l'esecuzione del programma. L'argomento di exit può essere utilizzato dal processo chiamante ed usato per stabilire se la chiamata ha avuto successo oppure no. Di solito 0 sta per "tutto bene" mentre un valore diverso da zero indica "errore". Osservazioni Il file stdio.h contiene quindi: - Le dichiarazioni dei prototipi di tutte le funzioni di I/O - Le macro costanti EOF, stdin, stdout, stderr - La dichiarazione della struct FILE EOF corrisponde al valore restituito da alcune funzioni di I/O in corrispondenza dell identificatore di fine file. La definizione di NULL, per l ANSI C, è invece contenuta nel file stddef.h: #ifndef NULL #define NULL (void *) 0 #endif Le combinazioni di chiavi per indicare end-of-file varia tra i sistemi: UNIX IBM PC MACINTOSH <return> <ctrl > d <ctrl > z <ctrl > d

9 NUOVE FUNZIONI di I/O (I/O blocco per blocco) (solo per Files Binari) Le seguenti funzioni possono leggere e scrivere qualunque tipo di dato, qualunque sia la sua rappresentazione. I prototipi sono: size_t fwrite(void *buffer, size_t size, size_t num, FILE *fp); size_t fread (void *buffer, size_t size, size_t num, FILE *fp); La funzione fwrite() scrive sul file associato ad fp, un numero num di oggetti, ciascuno lungo size bytes, prendendoli dall area puntata da buffer. Ritorna il numero di oggetti scritti. Questo valore sarà diverso da num solo in caso di errore. La funzione fread() legge dal file associato ad fp, un numero num di oggetti, ciascuno lungo size bytes, e li memorizza nel buffer puntato d a buffer. Ritorna il numero di oggetti letti; se ritorna 0, nessun oggetto è stato letto, cioè la fine del file è stata raggiunta oppure c è stato errore.

10 Esempio: #include <stdio.h> #include <stdlib.h> int main() { float f = 1, g, h; float a[3] = {2.,3.,4., b[2]; FILE *fp; if ((fp = fopen("nuovo","wb"))==null) { fputs("errore in apertura file",stderr); fwrite(&f, sizeof(float), 1, fp); fwrite(a, sizeof(a), 1, fp); if (ferror(fp)) { puts("errore in scrittura file"); fclose(fp); if ((fp = fopen("nuovo","rb"))==null) { puts("non posso aprire file scritto"); fread(&g, sizeof(float), 1, fp); fread(b, sizeof(b), 1, fp); fread(&h, sizeof(float), 1, fp); if (ferror(fp)) { puts("errore in lettura"); if (feof(fp)) { puts("lettura oltre la fine file"); printf("%f %f %f %f\n",g, b[0],b[1], h); fclose(fp); return 0; E stampa:

11 BUFFERIZZAZIONE Confrontate con la memoria centrale, le unità di memoria di massa sono molto più lente; il tempo richiesto per accedere alle periferiche eccede largamente il tempo impiegato dalla CPU per i calcoli effettivi. È quindi di fondamentale importanza ridurre, mediante tecniche di bufferizzazione, il numero di accessi alla memoria di massa per effettuare operazioni di lettura/scrittura. Un buffer è un area dei memoria in cui i dati sono memorizzati temporaneamente, prima di essere inviati alle unità di I/O o dopo essere ricevuti dalle unità. Tutti i sistemi operativi utilizzano buffer per leggere/scrivere su unità di I/O: l accesso avviene con granularità di blocco, con blocchi di dimensione 512/4096 byte. Le librerie run time del C contengono due forme distinte di bufferizzazione: bufferizzazione a blocchi e bufferizzazione a linee. Nella bufferizzazione a blocchi, il sistema immagazzina i caratteri fino a riempire un blocco, trasferendolo quindi al sistema operativo. Nella bufferizzazione a linee, il sistema immagazzina i caratteri fino a quando incontra un newline (oppure il buffer è pieno), poi invia l intera linea al sistema operativo (così accade per l inserimento da tastiera). Tutti i flussi di I/O a file utilizzano una bufferizzazione a blocchi, mentre i flussi riferiti a terminale sono dipendenti dal sistema operativo, e sono o non bufferizzati o bufferizzati a linee. Sia nel caso di bufferizzazione a linee che a blocchi, è possibile richiedere esplicitamente al sistema operativo di forzare l invio del buffer a destinazione in un momento qualsiasi, per mezzo della funzione fflush().

12 ACCESSO DIRETTO A FILES Si fa con le funzioni: ftell() e fseek(), usando le costanti seguenti che sono definite in stdio.h: SEEK_SET SEEK_CUR SEEK_END indica inizio del file indica posizione corrente del file indica fine del file. La funzione ftell() ha, come unico argomento, un puntatore ad un file e restituisce la posizione corrente dell indicatore di posizione nel file. La posizione restituita da ftell() si intende relativa all inizio del file..... per flussi binari rappresenta il numero di caratteri dall inizio del file alla posizione corrente;.. per flussi testuali è un valore dipendente dall implementazione, significativo solo se utilizzato come parametro per fseek(). La funzione fseek() sposta l indicatore di posizione del file a un carattere specificato del flusso. Es. /* Se la ricerca di una certa stringa nel file fallisce, l indicatore di posizione nel file viene riportato al valore originale */ cur_pos = ftell(fp); // posizione originale if (search(string) == FAIL) fseek(fp, cur_pos, SEEK_SET); // riporta l indicatore nella posizione originale Il prototipo di fseek() è: int fseek(file *fp, long int offset, int da_dove) dove: fp offset da_dove : puntatore a file : numero di caratteri di spostamento : posizione di partenza da cui calcolare lo spostamento L argomento da_dove può assumere uno dei tre valori SEEK_SET, SEEK_CUR, SEEK_END. La funzione fseek() restituisce zero se la richiesta è corretta, un valore diverso da zero altrimenti.

13 Es: L istruzione stat = fseek(fp, 10, SEEK_SET); sposta l indicatore di posizione del file dopo 10 caratteri del flusso (sull undicesimo), che sarà il prossimo elemento letto o scritto. Per flussi binari, lo spostamento (offset) può essere un qualsiasi numero intero che non sposti l indicatore al di fuori del file; per flussi testuali, deve essere zero o un valore restituito da ftell(). Es: L istruzione stat = fseek(fp, 1, SEEK_END); non è lecita se fp è aperto in sola lettura, perché sposta l indicatore oltre la fine del file. NOTA (da manuale): tra una operazione di fread ed una di fwrite (o viceversa) occorre effettuare una chiamata di fseek oppure di fflush. Es: /* Determinazione con fseek e ftell del numero di caratteri di un file passato come parametro */ #include <stdio.h> int main(int argc, char *argv[]) { FILE *fp; int n; if (argc < 2) printf("file non specificato\n"); else { if (( fp = fopen (argv[1], "r")) == NULL){ printf("non trovo il file %s\n", argv[1]); /* spostamento puntatore alla fine del file */ fseek(fp, 0, SEEK_END); /* lettura della posizione dell'indicatore */ n = ftell(fp); printf("il file ha %d caratteri\n",n); fclose(fp); return 0;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

DOTT. ING. LEONARDO RIGUTINI DIPARTIMENTO INGEGNERIA DELL INFORMAZIONE UNIVERSITÀ DI SIENA VIA ROMA 56 53100 SIENA UFF. 0577234850-7102 RIGUTINI@DII Gestione dei files DOTT. ING. LEONARDO RIGUTINI DIPARTIMENTO INGEGNERIA DELL INFORMAZIONE UNIVERSITÀ DI SIENA VIA ROMA 56 53100 SIENA UFF. 0577234850-7102 RIGUTINI@DII.UNISI.IT HTTP://WWW.DII.UNISI.IT/~RIGUTINI/

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

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

Se vogliamo cambiarlo: i dati vengono sovrascritti. 300 White Jones (vecchio valore) 300 Worthington 0.00

Se vogliamo cambiarlo: i dati vengono sovrascritti. 300 White Jones (vecchio valore) 300 Worthington 0.00 File position pointer File position pointer Indica la posizione da cui leggere/scrivere i prossimi byte Non un puntatore, ma un valore intero (specifica la posizione dall inizio file in termini di numero

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

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

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

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

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

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

Linguaggio C La libreria standard

Linguaggio C La libreria standard FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C La libreria standard 2001 Pier Luca Montessoro - Davide Pierattoni

Dettagli

Struttura a record. File ad accesso diretto. Modalità di apertura. Modalità di apertura

Struttura a record. File ad accesso diretto. Modalità di apertura. Modalità di apertura Struttura a record 2 File ad accesso diretto Il file è organizzato in record aventi tutti la stessa struttura e quindi dimensione record 0 record 1 record 2 Ver. 2.4 2010 - Claudio Fornaro - Corso di programmazione

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

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

Struttura dati FILE. Concetto di FILE

Struttura dati FILE. Concetto di FILE Struttura dati FILE Concetto di FILE Per poter mantenere disponibili dei dati tra diverse esecuzioni di un programma (PERSISTENZA dei dati), è necessario poterli archiviare su memoria di massa. Un file

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

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

Fondamenti di Informatica T. Linguaggio C: File

Fondamenti di Informatica T. Linguaggio C: File Linguaggio C: File I File Il file e` l'unita` logica di memorizzazione dei dati su memoria di massa, che consente una memorizzazione persistente dei dati, non limitata dalle dimensioni della memoria centrale.

Dettagli

Le funzioni, e le istruzioni di input/output

Le funzioni, e le istruzioni di input/output Linguaggio C Le funzioni, e le istruzioni di input/output 1 Funzioni! Sono sottoprogrammi per svolgere un particolare compito! Sequenze di istruzioni (raggruppate tramite le parentesi graffe) alle quali

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

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

Tipi di dati fondamentali. Tipi di dati fondamentali. Utilità dei tipi di dati nelle dichiarazioni. Il tipo di dati char. Codice ASCII.

Tipi di dati fondamentali. Tipi di dati fondamentali. Utilità dei tipi di dati nelle dichiarazioni. Il tipo di dati char. Codice ASCII. Tipi di dati fondamentali Tipi di dati fondamentali Linguaggi di Programmazione I Ferdinando Cicalese caratteri: char signed char unsigned char interi short int long interi unsigned short unsigned unsigned

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

Il linguaggio C. Notate che...

Il linguaggio C. Notate che... Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione

Dettagli

puntatori Lab. Calc. AA 2007/08 1

puntatori Lab. Calc. AA 2007/08 1 puntatori Lab. Calc. AA 2007/08 1 parametri delle funzioni (dalla lezione scorsa) gli argomenti in C vengono passati by value dalla funzione chiamante alla funzione chiamata la lista degli argomenti viene

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

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

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

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

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

Rappresentazione binaria delle variabili (int e char)

Rappresentazione binaria delle variabili (int e char) Rappresentazione binaria delle variabili (int e char) int e char son i due tipi utilizzati dal linguaggio C per la rappresentazione di valori interi; ai valori delle variabili del primo tipo sono assegnati

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

Fondamenti di Informatica. Tecniche di input/output per l'accesso ai file

Fondamenti di Informatica. Tecniche di input/output per l'accesso ai file Corso di per il corso di Laurea di Ingegneria Meccanica Tecniche di input/output per l'accesso ai file Università degli Studi di Udine - A.A. 2010-2011 Docente Ing. Sandro Di Giusto Ph.D. 1 L'importanza

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

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

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 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit

Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione

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

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

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

Alfabeto ed elementi lessicali del linguaggio C

Alfabeto ed elementi lessicali del linguaggio C Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2016-2017 Alfabeto ed elementi lessicali del linguaggio C Pietro Di Lena - pietro.dilena@unibo.it s t a t i c s h o r t l e g s ; i n

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

Unità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma.

Unità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma. Unità Didattica 1 Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C UNIX (1969) - DEC PDP-7 Assembly Language BCPL - un OS facilmente accessibile che fornisce potenti strumenti

Dettagli

---------------------------------------------------------------- Puntatori a funzione. In C è possibile utilizzare dei puntatori a funzioni, ovvero

---------------------------------------------------------------- Puntatori a funzione. In C è possibile utilizzare dei puntatori a funzioni, ovvero ---------------------------------------------------------------- Puntatori a funzione. In C è possibile utilizzare dei puntatori a funzioni, ovvero delle variabili a cui possono essere assegnati gli indirizzi

Dettagli

Informatica 1. Corso di Laurea Triennale in Matematica. Gianluca Rossi

Informatica 1. Corso di Laurea Triennale in Matematica. Gianluca Rossi Informatica 1 Corso di Laurea Triennale in Matematica Gianluca Rossi gianluca.rossi@uniroma2.it Dipartimento di Matematica Università di Roma Tor Vergata 11: Stringhe (www.informatica-uno.blogspot.com)

Dettagli

Lettura da tastiera e scrittura su monitor

Lettura da tastiera e scrittura su monitor Lettura da tastiera e scrittura su monitor Per poter leggere UN SINGOLO CARATTERE dalla tastiera e visualizzare UN SINGOLO CARATTERE sul monitor si possono utilizzare le funzioni: int getchar (void) (per

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

Precedenza e associatività. Complementi sul C - 2. Esempi. Esempi

Precedenza e associatività. Complementi sul C - 2. Esempi. Esempi Complementi sul C - 2 Ver. 2.4 2010 - Claudio Fornaro - Corso di programmazione in C Precedenza e associatività () [] ->. S D! ~ ++ + * & (cast ) sizeof S D * / % S D + - (somma e sottrazione) S D >

Dettagli

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni Funzioni Le funzioni Con il termine funzione si intende, in generale, un operatore che, applicato a un insieme di operandi, consente di calcolare un risultato, come avviene anche per una funzione matematica

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

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

Variabili e Istruzioni

Variabili e Istruzioni Exit Menù Variabili e Istruzioni 1 Le Variabili Una VARIABILE è un oggetto identificato da un NOME e da uno STATO, detto CONTENUTO o VALORE. Possiamo immaginarla come una scatola contenuto Pippo 11 nome

Dettagli

TUTORATO di LINGUAGGI I

TUTORATO di LINGUAGGI I TUTORATO di LINGUAGGI I Enrico Vianello TUTORATO di LINGUAGGI I contatti utili LE LEZIONI SI TERRANNO: VENERDI 12.30-14.30 PER INFORMAZIONI e DOMANDE: enrico.vianello@student.unife.it IL MATERIALE UTILIZZATO

Dettagli

Input / Output. Input / Output. Laboratorio di Linguaggi. Printf. Input / Output. Scrittura formattata. Scrittura formattata.

Input / Output. Input / Output. Laboratorio di Linguaggi. Printf. Input / Output. Scrittura formattata. Scrittura formattata. Università dell Insubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso di Laurea Informatica Anno Accademico 2007/08 Laboratorio di Lguaggi lezione XI: I/O Marco Tari Prtf Scrittura

Dettagli

La gestione dei caratteri in C

La gestione dei caratteri in C in C In C i caratteri sono gestiti mediante variabili di tipo char (interi a 8 bit) Ad ogni carattere corrisponde un codice numerico ASCII (American Standard Code for Information Interchange) Un esempio

Dettagli

Funzioni e. Alessandra Giordani Mercoledì 16 maggio 2012

Funzioni e. Alessandra Giordani Mercoledì 16 maggio 2012 Funzioni e passaggio parametri Alessandra Giordani agiordani@disi.unitn.it Mercoledì 16 maggio 2012 http://disi.unitn.it/~agiordani/ Cosa vedremo oggi Le funzioni Il passaggio dei parametri Le dichiarazioni

Dettagli

Puntatori. Un puntatore contiene un numero che indica la locazione di memoria dove è presente la variabile puntata

Puntatori. Un puntatore contiene un numero che indica la locazione di memoria dove è presente la variabile puntata Puntatori int i = 10; int * pi = &i; pi i = 10 116 int * pi = pi contiene un informazione che mi permette di accedere ( puntare ) ad una variabile intera Un puntatore contiene un numero che indica la locazione

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

OTTAVA ESPERIENZA DI LABORATORIO. L elaborazione dei files in C

OTTAVA ESPERIENZA DI LABORATORIO. L elaborazione dei files in C CORSO DI LABORATORIO DI INFORMATICA CORSO DI LAUREA IN SDM ANNO ACCADEMICO 2011-2012 Docente: R. Sparvoli Esercitazioni: R. Sparvoli, F. Palma OTTAVA ESPERIENZA DI LABORATORIO L elaborazione dei files

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

Complementi. - Ridefinizione di tipo - - Costrutto switch - - Programmazione su più file - - Parametri della funzione main - Funzione system -

Complementi. - Ridefinizione di tipo - - Costrutto switch - - Programmazione su più file - - Parametri della funzione main - Funzione system - Complementi - Ridefinizione di tipo - - Costrutto switch - - Programmazione su più file - - Parametri della funzione main - Funzione system - Università degli Studi di Brescia Prof. Massimiliano Giacomin

Dettagli

Laboratorio di Informatica Ingegneria Clinica Lezione 14-16/11/2011

Laboratorio di Informatica Ingegneria Clinica Lezione 14-16/11/2011 Laboratorio di Informatica Ingegneria Clinica Lezione 14-16/11/2011 Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via del Policlinico, 147 00161 Roma I puntatori Variabili e parametri Parametri formali

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

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

Approfondimento : printf

Approfondimento : printf Approfondimento : printf La funzione printf : stampa su standard input (video) dati complessi ha un formato articolato, molto potente ma spesso poco chiaro ha un numero di opzioni utili e poco conosciute

Dettagli

Tipi di dato. Le variabili in C. Problema: dato in input un carattere, se esso è una lettera minuscola, trasformarla in maiuscola.

Tipi di dato. Le variabili in C. Problema: dato in input un carattere, se esso è una lettera minuscola, trasformarla in maiuscola. Tipi di dato Le variabili in C KP Cap.3 pp.95-129 Cap.5 pp.190-193 DD Cap. 9 pp.352-355 Abbiamo già parlato delle variabili, ed abbiamo fin ora usato il tipo int, ma abbiamo molte altre possibiltà I tipi

Dettagli

Introduzione al C. Unità 8 Stringhe

Introduzione al C. Unità 8 Stringhe Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Unità 8 Stringhe D. Bloisi, A. Pennisi, S. Peluso, S. Salza Sommario Unità 8 Array di

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

Puntatori. Unità 6. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

Puntatori. Unità 6. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm

Dettagli

Linguaggio C. Tipi predefiniti. Università degli Studi di Brescia. Prof. Massimiliano Giacomin. Prof. M. Giacomin

Linguaggio C. Tipi predefiniti. Università degli Studi di Brescia. Prof. Massimiliano Giacomin. Prof. M. Giacomin Linguaggio C Tipi predefiniti Università degli Studi di Brescia Prof. Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Il concetto di tipo (reprise) Nome che indica

Dettagli

Alfabeto ed elementi lessicali del linguaggio C

Alfabeto ed elementi lessicali del linguaggio C Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2015-2016 Alfabeto ed elementi lessicali del linguaggio C Pietro Di Lena - pietro.dilena@unibo.it s t a t i c s h o r t l e g s ; i n

Dettagli

Scope delle variabili e passaggio parametri. Danilo Ardagna Politecnico di Milano

Scope delle variabili e passaggio parametri. Danilo Ardagna Politecnico di Milano Scope delle variabili e passaggio parametri Danilo Ardagna Politecnico di Milano 1-4-2014 Introduzione! Con le funzioni è stato introdotto un meccanismo per definire dei piccoli programmi all interno di

Dettagli

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine

Dettagli