Input/Output su disco

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Input/Output su disco"

Transcript

1 Input/Output su disco In C, la gestione dei dispositivi di lettura (tastiera, file su disco,...) e scrittura (monitor, file su disco, stampante,...) viene effettuata mediante canali di comunicazione. Tali canali possono essere sia di input o di output (a seconda che il flusso di informazioni avvenga dal canale verso il codice o dal codice verso il canale) e rappresentano una sorta di interfaccia tra il codice ed il dispositivo fisico cui si vuole accedere dall'interno del codice stesso. In questo modo, le operazioni di accesso ai singoli dispositivi diventano indipendenti dalle caratteristiche tecniche di tali dispositivi; ad esempio, la scrittura su monitor e quella su file vengono effettuate utilizzando lo stesso set di funzioni, permettendo al programmatore di non curarsi di come il processo di scrittura venga effettivamente portato a termine. In generale, prima di poter comunicare con un dispositivo è necessario attivare un canale di comunicazione; nel caso in cui il programma debba accedere alla tastiera o al monitor, non è necessario effettuare tale apertura, in quanto tastiera e monitor rappresentano i canali di input ed output standard, stdin e stdout, e risultano automaticamente aperti all'avvio del programma. L'apertura del canale potrà avvenire in modalità di scrittura o lettura ed il flusso di informazioni potrà essere gestito in modalità testo o binaria.

2 Scrittura su file La scrittura di informazioni all'interno di un documento memorizzato sull'hard-disk del computer è possibile dopo aver attivato il canale di comunicazione con tale documento in modalità scrittura. Nel caso il flusso di informazioni venga gestito in modalità testo, l'invio di informazioni al file avviene per caratteri (non nel senso che si può scrivere solo un carattere per volta, ma nel senso che, una volta inviata un'informazione al file, essa viene salvata sotto forma di un insieme di caratteri). Ad esempio, il valore , una volta salvato su file, diventa una sequenza di caratteri: '1', '2', '3', '.', '4' e '5'. Le funzioni di gestione dell'output permettono di inviare su file dei dati: 1. carattere per carattere, usando la funzione int putc(int c,file*output) che permette di inviare il carattere c al dispositivo cui è collegato il canale output 2. in modalità formattata, usando la funzione in fprintf(file*output, "stringa di formato",...) che permette di inviare l'output sfruttando le medesime potenzialità della funzione printf() 3. una stringa alla volta, usando la funzione char *fputs(char*stringa,file* output) Vediamo tre esempi in cui l'output venga inviato su disco in questi tre diversi modi. /* inizio codice */ #include <stdio.h> #include <stdlib.h> int main() {int i; char *stringa_di_prova="prova di invio dati carattere per carattere"; FILE *output; /* questa è la variabile da utilizzare per l'invio di dati al canale di comunicazione con il file. prima di iniziare la comunicazione con il documento su disco è necessario attivare il canale di comunicazione, specificando il nome del documento e la modalità di accesso al documento stesso */ output = fopen("prova_char_a_char.txt","w"); /* accediamo al dispositivo in scrittura

3 */ if(output ==NULL) /* verifico che il canale sia attivo */ {printf("\n apertura fallita"); exit(0); /* ora è possibile accedere al documento */ i=0; while( *(stringa_di_prova+i) ) /* eseguo il ciclo fino al raggiungimento dell'ultimo char */ {putc( *(stringa_di_prova+i), output ); i++; /* ora inserisco un carattere "a capo" */ putc('\n', output ); /* ora inserisco la stringa al contrario */ i--; while( i >= 0 ) /* eseguo il ciclo fino al raggiungimento del primo char */ {putc( *(stringa_di_prova+i), output ); i--; /* Ora iniziamo le operazioni di scrittura usando la funzione fprintf() */ fprintf(output,"\n iniziano le operazioni di scrittura mediante fprintf()\n"); fprintf(output,"\n valore casuale compreso tra 0 e 999: %d", rand() % 1000); fprintf(output,"\n una stringa: %s\n",stringa_di_prova); /* Ora iniziamo le operazioni di scrittura usando la funzione fputs() */ fputs("\n ora scrivo su file, una stringa per volta\n",output); fputs(stringa_di_prova,output); /* Ora chiudiamo il canale di comunicazione. Se ci dimenticassimo di farlo, esso verrebbe automaticamente chiuso al termine del programma */ fclose(output); return 0; /* fine codice */ Qual è ora il contenuto del file prova_char_a_char.txt? Proviamo ad aprirlo con un qualsiasi editor di testo... Prova di invio dati carattere per carattere erettarac rep erettarac itad oivni id avorp iniziano le operazioni di scrittura mediante fprintf() valore casuale compreso tra 0 e 999: 41 una stringa: Prova di invio dati carattere per carattere ora scrivo su file, una stringa per volta Prova di invio dati carattere per carattere

4 Notate che nel testo non si vedono esplicitamente i caratteri '\n', a capo; se ne nota però l'effetto. Questo indica che, quando un file viene letto in modalità testo, alcuni dei caratteri, i cosiddetti caratteri di controllo, possono essere interpretati e non visualizzati. Lettura da file Le operazioni di input da file possono essere effettuate con le stesse modalità cui cui esse venivano effettuate a partire dal buffer di input standard, ovvero carattere per carattere, a gruppi di caratteri (il separatore tra gruppo e gruppo è rappresentato dal carattere ' ') e stringa per stringa. Per capire quando si sia raggiunta la fine del file, identificata dal carattere EOF, è utile considerare i valori restituiti dalle funzioni di lettura: int fgetc(file*input) restituisce il carattere letto dal canale input o EOF, se incontra la fine del file o se si verifica un errore int fscanf(file*input,"stringa di formato") restituisce un numero pari al numero di caratteri letti o EOF se durante la lettura viene incontrata la fine del file char *fgets(char*stringa,int numero,file* input) la funzione preleva dal canale input un numero di caratteri che al massimo è costituito da numero-1 elementi e li copia nell'area di memoria cui fa riferimento il puntatore stringa. La funzione restituisce il puntatore stringa, se l'operazione di lettura ha successo, ovvero dopo aver copiato numero-1 caratteri, o dopo aver incontrato un carattere "nuova linea" o se durante la lettura incontra EOF. Essa restituisce NULL se si verifica un errore o se tenta di leggere oltre la fine del file. Utilizziamo tali modalità per leggere il contenuto di questo file: prova_di_lettura.txt prima riga seconda riga ora alcuni numeri interi ora alcuni decimali

5 /* inizio codice */ #include <stdio.h> #include <stdlib.h> int main() {int valore; char c; char lettura[100]; float f; FILE *input; /* questa è la variabile da utilizzare per la lettura di dati dal canale di comunicazione con il file. prima di iniziare la comunicazione con il documento su disco è necessario attivare il canale di comunicazione, specificando il nome del documento da leggere e la modalità di accesso al documento stesso */ input = fopen("prova_di_lettura.txt","r"); /* accediamo al dispositivo in lettura*/ if(input ==NULL) /* verifico che il canale sia attivo */ {printf("\n apertura fallita"); exit(0); /* leggiamo il testo del file, carattere per carattere, e visualizziamone il contenuto */ while(1) {c = fgetc(input); if(c==eof) break; /* interrompo il ciclo di lettura */ if(c<31) printf("%d",c); /* se è un carattere di controllo, ne visualizzo il codice ASCII */ else printf("%c",c); /* riavvolgiamo il file e utilizziamo la funzione fscanf() */ rewind(input); while(1) {valore = fscanf(input,"%s",lettura); if(valore == EOF) break; printf("%s",lettura); /* Notate che i caratteri "a capo" non sono stati inseriti nelle stringhe lette. Riavvolgiamo il file e utilizziamo la funzione fscanf() per leggere i numeri e la funzione fgets() per leggere le righe contenenti solo testo */ /* le prime tre righe sono formate da testo */ fgets(lettura,100,input); /* leggo la prima riga */ puts(lettura); fgets(lettura,100,input); /* leggo la seconda riga */ puts(lettura); fgets(lettura,100,input); /* leggo la terza riga */ puts(lettura); /* poi ci sono tre numeri interi */

6 fscanf(input,"%d",&valore); printf(" %d ",valore); fscanf(input,"%d",&valore); printf(" %d ",valore); fscanf(input,"%d",&valore); printf(" %d ",valore); /* poi una riga contenente solo testo */ fgets(lettura,100,input); puts(lettura); /* ed infine due decimali */ fscanf(input,"%f",& f); printf(" %f ",f); fscanf(input,"%f",& f); printf(" %f ",f); fclose(input); return 0; /* fine codice */ Oltre alla possibilità di gestire la comunicazione attraverso il canale in modalità testo, è possibile utilizzare la gestione in modalità binaria, ovvero mediante un flusso di Byte, sia in input che in output. In pratica, usando questa modalità, vengono lette dal disco o scritte su disco le sequenze di Byte che servono per rappresentare il valore di una data variabile. Tale flusso non subisce le interpretazioni cui può andare soggetto un flusso di dati gestito in modalità testo. Un vantaggio derivante dall'utilizzare la gestione binaria del flusso di dati è rappresentato dal risparmio di memoria che essa può comportare. consideriamo le seguenti variabili int a = 4000, b = ;

7 Entrambe sono variabili di tipo intero, quindi occupano 4 Byte in memoria; se copio tali byte su un file, entrambe occuperanno 4 Byte su disco. Se, viceversa, scrivo il valore delle variabili in modalità testo, la prima occuperà 4 Byte sul disco mentre la seconda ne occuperà 9. Come scriviamo / leggiamo Byte per Byte? int fwrite(void *puntatore,int dim,int num,file*output) La funzione invia al canale cui fa riferimento la variabile output la sequenza di Byte relativa ad un numero num di oggetti, ciascuno di dimensione pari a dim; tali byte sono vengono cercati a partire dalla locazione di memoria cui fa riferimento puntatore. Esempio: salviamo i valori di un array su disco. /* inizio codice */ #include <stdio.h> #include <stdlib.h> #define DIM 50 int main() {int *array; int i; FILE *output = fopen("testo.dat","w"); if(output == NULL) exit(0); FILE *bin_output = fopen("binario.dat","wb"); if(bin_output == NULL) exit(0); if((array = (int *) malloc( DIM * sizeof(int))) == NULL) exit(0); /* inizializzo gli elementi */ array[i] = rand() ; /* scrivo i valori in modalità testo usando il canale di testo */ fprintf(output," %d \n",array[i]); fclose(output); /* chiudo il canale di testo */ /* scrivo i valori in modalità binaria, uno dopo l'altro */

8 fwrite(array+i,sizeof(int),1,bin_output); /* scrivo i valori in modalità binaria, tutti in una sola volta */ fwrite(array,sizeof(int),dim,bin_output); /* scrivo l'intero array, in un colpo solo */ fwrite(array,dim*sizeof(int),1,bin_output); fclose(bin_output); return 0; /* fine codice */ Ora nel file binario ci sono tre copie del medesimo array. Leggiamo tali valori in modalità binaria usando la funzione fread(). Se tentiamo di leggere il file binario.dat usando un editor di testo vediamo qualcosa che non ha nulla a che fare con i valori salvati nel file testo.dat int fread(void *puntatore,int dim,int num,file*input) La funzione legge dal canale cui fa riferimento la variabile input la sequenza di Byte relativa ad un insieme di al più num oggetti, ciascuno di dimensione pari a dim; tali byte sono vengono cercati a partire dalla locazione di memoria cui fa riferimento puntatore. /* inizio codice */ #include <stdio.h> #include <stdlib.h> #define DIM 50 int main() {int *array; int i; FILE *bin_input = fopen("binario.dat","rb"); if(bin_input == NULL) exit(0); /* riservo l'area di memoria in cui scrivere i valori che verranno letti in seguito */ if((array = (int *) malloc( DIM * sizeof(int))) == NULL) exit(0); /* leggo i valori, tutti in una volta */

9 fread(array,sizeof(int)*dim,1,bin_input); /* visualizzo i valori */ fprintf(stdout," %d \n",array[i]); /* ora li leggo uno dopo l'altro */ fread(array+i,sizeof(int),1,bin_input); fprintf(stdout," %d \n",array[i]); fclose(bin_input); return 0; /* fine codice */

Laboratorio di Programmazione

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

Dettagli

Gestione dei file in C

Gestione dei file in C Gestione dei file in C Fondamenti di Informatica Che cos è un file e a cosa serve? Memoria di massa vs memoria centrale q La memoria di massa (disco fisso) è un dispositivo di memorizzazione generalmente

Dettagli

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

I files (archivi) Il C definisce in stdio.h tre file aperti automaticamente: stdin, stdout e stderr.! Sono ad accesso sequenziale diretto C I files di dati I files (archivi) Files di programmi sono solo gestiti dal compilatore C Files di dati Possono essere creati, aggiornati, letti, scritti da programmi C Servono per conservare dati su

Dettagli

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. Credits Prof. Campi

Gestione dei File. Credits Prof. Campi Gestione dei File Credits Prof. Campi 1 Perché i file? Sono strutture dati persistenti Sono solitamente memorizzati sui dischi Si usano dall'interno dei programmi Realizzano la persistenza dei dati cioè

Dettagli

Corso di Informatica A.A

Corso di Informatica A.A Corso di Informatica A.A. 2009-2010 Lezione 13 Corso di Informatica 2009-2010 Lezione 13 1 Input/output da file Stream Si definisce stream una sequenza di bytes di dati che può essere in ingresso (input

Dettagli

I files in C. A cura del prof. Ghezzi

I files in C. A cura del prof. Ghezzi I files in C A cura del prof. Ghezzi 1 Perchè i files? Realizzano la persistenza dei dati dati che sopravvivono all esecuzione del programma Sono delle strutture di dati sequenziali 2 Files e S.O. I files

Dettagli

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

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

Dettagli

Input/Output su File

Input/Output su File Input/Output su File Premessa importante Queste dispense si intendono unicamente come riferimento rapido per consultare il significato e I prototipi delle funzioni per l'accesso ai file. Per avere esempi

Dettagli

Streams e disk files

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

Dettagli

Gestione dei file in C

Gestione dei file in C Gestione dei file in C Fondamenti di Informatica Che cos è un file e a cosa serve? Memoria di massa vs memoria centrale q La memoria di massa (disco fisso) è un dispositivo di memorizzazione generalmente

Dettagli

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

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

Dettagli

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

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

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

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

Perchè i files? Realizzano la persistenza dei dati. Sono delle strutture di dati sequenziali. dati che sopravvivono all esecuzione del programma Perchè i files? Realizzano la persistenza dei dati dati che sopravvivono all esecuzione del programma Sono delle strutture di dati sequenziali Files e S.O. I files sono gestiti dal S.O. e resi visibili

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

INFORMATICA. I file. File. File. File

INFORMATICA. I file. File. File. File INFORMATICA File Per rendere più uniforme possibile il comportamento dei programmi in relazione alla grande varietà dei dispositivi periferici, i linguaggi moderni fanno riferimento ad un modello : i periferici

Dettagli

File binari e file di testo

File binari e file di testo I file File binari e file di testo distinzione tra file binari file di testo si possono usare funzioni diverse per la gestione di tipi di file diversi Programmazione Gestione dei file 2 File binari e file

Dettagli

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

Il linguaggio C. Breve panoramica su stdio.h

Il linguaggio C. Breve panoramica su stdio.h Il linguaggio C Breve panoramica su stdio.h 1 Input/Output: stdio.h Contiene definizioni di costanti legate all I/O es. EOF (end of file) #define EOF (-1) valore restituito alla fine di un file Contiene

Dettagli

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

JAVA. import java.util.*; #include <stdio.h> public static class test { int variable; private int variable; int main (int argc, char *argv[]) {

JAVA. import java.util.*; #include <stdio.h> public static class test { int variable; private int variable; int main (int argc, char *argv[]) { JAVA C import javautil*; public static class test { private int variable; public void main (String[] args) { variable = 0; Systemoutprintln( Variable is: + variable); #include int variable; int

Dettagli

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

Settimana n.12. Obiettivi File!di!testo. Contenuti Concetto!di!file!e!funzioni! fopen/fclose Funzioni!fgets+sscanf Approfondimenti!su!printf! e! Settimana n.12 Obiettivi File!di!testo Contenuti Concetto!di!file!e!funzioni! fopen/fclose Funzioni!fgets+sscanf Approfondimenti!su!printf! e!scanf 437 Files Vista d insieme dei formati di file File File

Dettagli

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

Input / Output. Come già detto, input e output sono realizzati in C da funzioni di stdio.h all'interno della libreria standard Stdio.h Input / Output Come già detto, input e output sono realizzati in C da funzioni di stdio.h all'interno della libreria standard Sia i file che i dispositivi (tastiera, schermo...) sono visti come

Dettagli

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

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 6 Marzo 2016 File Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 6 Marzo 2016 Obiettivi Il salvataggio dei dati File File e OS File in C 2 3 I programmi che abbiamo considerato finora. Perdono

Dettagli

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

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 21 Maggio 2014 File Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 21 Maggio 2014 Obiettivi Il salvataggio dei dati File File e OS File in C 2 3 I programmi che abbiamo considerato finora. Perdono

Dettagli

Lezione 22: Input/Output e Files

Lezione 22: Input/Output e Files Lezione 22: Input/Output e Files Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università di Salerno Struttura della lezione Esami: date e modalità Funzioni di libreria standard

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

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

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

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 15 Maggio 2015 File Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 15 Maggio 2015 2nda prova in itinere Era il 21 Maggio 2 2nda prova in itinere Era il 21 Maggio Spostata (da 3 settimane) al 22

Dettagli

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

Files in C endofile

Files in C endofile Files in C Il C vede i file semplicemente come un flusso (stream) sequenziale di bytes terminati da un marcatore speciale che determina la fine del file (end-of-file). 0 1 2 3 4... endofile A differenza

Dettagli

Lezione 11: Liste a Puntatori e Input/Output

Lezione 11: Liste a Puntatori e Input/Output Lezione 11: Liste a Puntatori e Input/Output Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione Richiamo: strutture (struct)

Dettagli

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

Input / Output. Come già detto, input e output sono realizzati in C da funzioni di stdio.h all'interno della libreria standard Stdio.h Input / Output Come già detto, input e output sono realizzati in C da funzioni di stdio.h all'interno della libreria standard Sia i file che i dispositivi (tastiera, schermo...) sono visti come

Dettagli

ERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} }

ERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} } ERRATA CORRIGE Pulizia del buffer di input: come fare? (1) Dopo aver richiamato getchar() per prelevare un carattere dal buffer di input, inseriamo una seconda chiamata a getchar(), senza assegnare il

Dettagli

ELEMENTI DI INFORMATICA. Linguaggio C

ELEMENTI DI INFORMATICA. Linguaggio C Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica ELEMENTI DI INFORMATICA http://agile.diee.unica.it A.A. 2015/2016 Ing. Marco Ortu Diee, secondo piano Tel. 070-6755774 mail:

Dettagli

Cosa serve per cominciare?

Cosa serve per cominciare? Cosa serve per cominciare? La linea di comando Il notepad (o equivalente) Saper scrivere qualcosa a video da programma risultato dell elaborazione elaborazione Ma come si fa?! 1 Input / Output L'immissione

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

Dati due punti sul piano calcolare la loro distanza

Dati due punti sul piano calcolare la loro distanza Introduzione al C Primo esempio in C Dati due punti sul piano calcolare la loro distanza Soluzione: la distanza fra due punti si calcola secondo il teorema di Pitagora, con la formula: y Distanza = (lato12

Dettagli

Operazioni su file di caratteri

Operazioni su file di caratteri Operazioni su file di caratteri Apertura fopen Chiusura fclose Scrittura fprintf Lettura fscanf Controllo fine file feof Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1 Apertura di un file: Si

Dettagli

Gestione dei files in linguaggio C. Fondamenti

Gestione dei files in linguaggio C. Fondamenti Programmazione e Laboratorio di Programmazione Gestione dei files in linguaggio C Fondamenti 1 Che cosa è un file? Un file può essere visto come un contenitore di informazioni simile ad un vettore di bytes

Dettagli

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

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

Dettagli

Le strutture /3. Riprendiamo ora la struttura definita alcune lezioni fa e completiamo il set di funzioni che servono per gestire un elenco di libri.

Le strutture /3. Riprendiamo ora la struttura definita alcune lezioni fa e completiamo il set di funzioni che servono per gestire un elenco di libri. Le strutture /3 Riprendiamo ora la struttura definita alcune lezioni fa e completiamo il set di funzioni che servono per gestire un elenco di libri. typedef struct {char titolo[200]; char autore[100];

Dettagli

FILE SEQUENZIALI E AD ACCESSO DIRETTO

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

Dettagli

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

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

Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Unità 9 File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Unità 9 File D. Bloisi, A. Pennisi, S. Peluso, S. Salza, C. Ciccotelli Sommario Input/Output

Dettagli

La gestione dei file in C

La gestione dei file in C Gestione dei file La gestione dei file in C Il file è un astrazione molto ampia nella descrizione di un sistema informatico nastro di I/O supporto di comunicazione macchina/ambiente di ogni tipo (sensori,

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Record Laboratorio di Informatica Ingegneria Meccanica Lezione 9, 6 dicembre 2007 versione 18 dicembre 2007 Renato Menicocci Array: collezione di dati omogenei

Dettagli

Lezione V Fondamenti di Ingresso/Uscita

Lezione V Fondamenti di Ingresso/Uscita Programmazione e Laboratorio di Programmazione Lezione V Fondamenti di Ingresso/Uscita Programmazione e Laboratorio di Programmazione: Fondamenti di Ingresso/Uscita 1 Flussi standard di I/O Standard streams:

Dettagli

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

Un file è un astrazione di memorizzazione di dimensione potenzialmente illimitata (ma non infinita), ad accesso sequenziale. IL CONCETTO DI FILE Un file è una astrazione fornita dal sistema operativo, il cui scopo è consentire la memorizzazione di informazioni su memoria di massa. Concettualmente, un file è una sequenza di registrazioni

Dettagli

Gestione dei file. 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

Esercitazione di Reti degli elaboratori

Esercitazione di Reti degli elaboratori Esercitazione di Prof.ssa Chiara Petrioli Christian Cardia, Gabriele Saturni Cosa vedremo in questa lezione? Gli Array Gli array multidimensionali Le stringhe I puntatori Esercizi Pagina 1 Gli Array Definizione

Dettagli

Dispensa 25 CORSO DI PROGRAMMAZIONE A.A CORSO DI LAUREA IN SCIENZE E TECNOLOGIE INFORMATICHE CESENA. Laboratorio

Dispensa 25 CORSO DI PROGRAMMAZIONE A.A CORSO DI LAUREA IN SCIENZE E TECNOLOGIE INFORMATICHE CESENA. Laboratorio CORSO DI LAUREA IN SCIENZE E TECNOLOGIE INFORMATICHE CESENA CORSO DI PROGRAMMAZIONE A.A. 2016-17 Dispensa 25 Laboratorio Dott. Mirko Ravaioli e-mail: mirko.ravaioli@unibo.it http://www.programmazione.info

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

Sistemi Operativi (M. Cesati)

Sistemi Operativi (M. Cesati) Sistemi Operativi (M. Cesati) Compito scritto del 17 febbraio 2014 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare

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

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

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

File. Molto astratta: file ha un nome (ex. Pippo.c), ed altre caratteristiche (dimensione, tipo, etc). Operazioni: copiare, cancellare, eseguire.. File I file sono una illusione creata dal Sistema Operativo(SO) Il SO usa opportune strutture dati per implementare tale astrazione (ad esempio: File Control Block, FCB) Sono usati per memorizzare in modo

Dettagli

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

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

Dettagli

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

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

GESTIONE DEI FILE. File come tipo di dati

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

Dettagli

I puntatori. Il C ci permette di conoscere tale indirizzo, ovvero di determinare dove la variabile sia stata effettivamente memorizzata.

I puntatori. Il C ci permette di conoscere tale indirizzo, ovvero di determinare dove la variabile sia stata effettivamente memorizzata. I puntatori La memoria RAM del calcolatore è formata da un insieme di celle di memoria; per poter localizzare ciascuna cella, ad ognuna di esse è associato un numero, ovvero il suo indirizzo, che viene

Dettagli

Strutture dati. Operatori di incremento e decremento. Strutture di dati. Strutture di dati. ++ e -- Esempi. Vettori e matrici.

Strutture dati. Operatori di incremento e decremento. Strutture di dati. Strutture di dati. ++ e -- Esempi. Vettori e matrici. Operatori di incremento e decremento ++ e -- Esempi y=x++ il contenuto della variabile x viene inizialmente usata per l assegnazione y, e solo dopo incrementata y=--x il contenuto della variabile x viene

Dettagli

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

Input / Output. Come già detto, input e output sono realizzati in C da funzioni di stdio.h all'interno della libreria standard Stdio.h Input / Output Come già detto, input e output sono realizzati in C da funzioni di stdio.h all'interno della libreria standard Sia i file che i dispositivi (tastiera, schermo...) sono visti come

Dettagli

Esercitazioni Fondamenti di Informatica

Esercitazioni Fondamenti di Informatica Esercitazioni Fondamenti di Informatica Marco Biagi Esercitazione 10 Email: marco.biagi@unifi.it Stringhe in C Una stringa è una sequenza di caratteri con un ordine prestabilito char c = p ; char stringa[]

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

puntatori Lab. Calc. AA 2006/07 1

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

Dettagli

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

INPUT E OUTPUT DI VALORI NUMERICI

INPUT E OUTPUT DI VALORI NUMERICI INPUT E OUTPUT DI VALORI NUMERICI FUNZIONI DI I/O PER NUMERI Per utilizzare le funzioni di Input/Output bisogna includere il file di intestazione (header file) denominato contiene la

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

Puntatori. Grazie ai puntatori:

Puntatori. Grazie ai puntatori: Puntatori Grazie ai puntatori: 1) è possibile permettere ad una funzione di modificare il contenuto di un area di memoria; 2) invece di passare ad una funzione tutto un blocco di memoria, si passa alla

Dettagli

Sistemi Operativi (M. Cesati)

Sistemi Operativi (M. Cesati) Sistemi Operativi (M. Cesati) Compito scritto del 1 febbraio 2016 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare

Dettagli

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

Premessa. Input /output e gestione dei file. I file e gli stream. Il puntatore al file. 21. I FILE NEL LINGUAGGIO C Versione 1. Input /output e gestione dei file Premessa Iniziamo la lezione dicendo subito che per INPUT/OUTPUT si intende l insieme delle operazioni di ingresso ed uscita, ossia lo scambio di informazioni tra il programma

Dettagli

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

Indice. La gestione dei file in C e gli stream. Apertura e chiusura di un file. Operazioni sui file. Accesso sequenziale e non sequenziale File in C Indice La gestione dei file in C e gli stream Apertura e chiusura di un file Operazioni sui file Accesso sequenziale e non sequenziale Gestione dei file in C In C all interno della standard library

Dettagli

Input/output console file caratteri stringhe formattato ascii binari

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

Dettagli

File qualche nota riassuntiva Che cos è un file? È un astrazione fornita dal sistema operativo, per consentire la memorizzazione di informazioni su

File qualche nota riassuntiva Che cos è un file? È un astrazione fornita dal sistema operativo, per consentire la memorizzazione di informazioni su File qualche nota riassuntiva Che cos è un file? È un astrazione fornita dal sistema operativo, per consentire la memorizzazione di informazioni su memoria di massa È un astrazione di memorizzazione di

Dettagli

I puntatori sono tipi di variabili il cui valore rappresenta un indirizzo della memoria.

I puntatori sono tipi di variabili il cui valore rappresenta un indirizzo della memoria. Puntatori I puntatori sono tipi di variabili il cui valore rappresenta un indirizzo della memoria. NOTA: quando un programma viene mandato in esecuzione, ad esso viene assegnata un area di memoria di lavoro

Dettagli

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

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Ripasso Liste: typedef struct EL{TipoElemento Info; struct EL *Prox;} ElemLista; typedef ElemLista

Dettagli

Sistemi Operativi (M. Cesati)

Sistemi Operativi (M. Cesati) Sistemi Operativi (M. Cesati) Compito scritto del 9 luglio 2012 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare tutti

Dettagli

Laboratorio di informatica Ingegneria meccanica

Laboratorio di informatica Ingegneria meccanica Laboratorio di informatica Ingegneria meccanica Esercitazione 6 7 novembre 2007 Correzione di un programma Un programma può contenere errori sintattici e/o errori logici. Gli errori sintattici vengono

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

- matrici - stringhe - file (lettura/scrittura, di testo/binari) - strutture, puntatori - allocazione dinamica della memoria (malloc)

- matrici - stringhe - file (lettura/scrittura, di testo/binari) - strutture, puntatori - allocazione dinamica della memoria (malloc) Esercitazione Argomenti che verranno trattati in questa esercitazione: - matrici - stringhe - file (lettura/scrittura, di testo/binari) - strutture, puntatori - allocazione dinamica della memoria (malloc)

Dettagli

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

Indice. La gestione dei file in C e gli stream. Apertura e chiusura di un file. Operazioni sui file. Accesso sequenziale e non sequenziale File in C Indice La gestione dei file in C e gli stream Apertura e chiusura di un file Operazioni sui file Accesso sequenziale e non sequenziale La gestione del buffer Gestione dei file in C In C all interno

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

I puntatori /2. Ad esempio. // inizio codice. #include <stdio.h> void mostra(int); int main() {int a = 10; mostra(a); return 0;}

I puntatori /2. Ad esempio. // inizio codice. #include <stdio.h> void mostra(int); int main() {int a = 10; mostra(a); return 0;} I puntatori /2 In C, il passaggio dei parametri alle funzioni avviene sempre per copia, ovvero il valore del parametro viene copiato all'interno della variabile che rappresenta il parametro stesso nel

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

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

File. Unità 8. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto

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

Costruiamo un programma per crittografare del testo

Costruiamo un programma per crittografare del testo Costruiamo un programma per crittografare del testo Per codificare un messaggio in modo tale che il suo testo non risulti leggibile a persone che non siano in possesso dell'opportuna procedura di decodifica,

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

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

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

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

Il buffer di input. In questo modo, tutte le chiamate alla funzione permetteranno all'utente di inserire caratteri.

Il buffer di input. In questo modo, tutte le chiamate alla funzione permetteranno all'utente di inserire caratteri. Il buffer di input In C, l'input fornito dall'utente viene gestito mediante un buffer; nel buffer vengono inseriti i caratteri premuti dall'utente sulla tastiera e, a chiusura del buffer, viene aggiunto

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

Gestione File di testo

Gestione File di testo Gestione File di testo In primo luogo diamo alcune nozioni di base su come è gestito l'i/o in ANSI C. Osserviamo subito che in ANSI C non sono direttamente definite delle istruzioni per l' Input/Output

Dettagli