Laboratorio di Algoritmi e Strutture Dati 2001/02 1
|
|
- Donata Caselli
- 4 anni fa
- Visualizzazioni
Transcript
1 Lezione 16 in C++ Il linguaggio C++ non prevede istruzioni specifiche per gestire le operazioni di input ed output di un programma L input e l output può essere gestito attraverso librerie progettate in C++ La libreria iostream è stata identificata come la libreria standard del C++ è presente in tutti i compilatori Volendo, l utente può utilizzare librerie differenti (per esempio stdio) 1 Struttura di una libreria di I/O La libreria che deve gestire l input/output di un programma deve svolgere un duplice ruolo deve interfacciarsi con l utente possibilità di definire operatori di input/output di alto livello per oggetti complessi deve interfacciarsi con il sistema operativo necessità di tradurre ogni operazione di input/output in una sequenza di passi elementari che siano comprensibili al sistema operativo Flusso di Dati In C++ il mondo esterno al programma è visto come una sequenza infinita di informazioni elementari (char) La sequenza di informazioni è vista come un flusso (stream) di dati che scorre i dati scorrono e non possono essere recuperati dopo che sono passati è possibile estrarre informazioni elementari dal flusso (input) è possibile inserire informazioni elementari nel flusso (output) Le funzioni della libreria devono convertire l input/output di un oggetto complesso in una sequenza di caratteri da immettere/estrarre da un flusso di dati 2 3 Organizzazione di iostream Classe istream Interfaccia con il sistema operativo Interfaccia con l utente istream ios iostream hasa ostream streambuf La classe istream rappresenta un flusso di input standard (la tastiera) cin è una variabile di tipo istream definita in iostream.h L interfaccia pubblica della classe istream contiene tutti gli operatori che consentono di effettuare l input di oggetti di tipo predefinito tramite l operatore >> La classe contiene anche metodi che consentono di avere un controllo più preciso sulla gestione del flusso di input /02 1
2 Operatore di Estrazione della Classe istream Altri Metodi di Lettura typedef istream& (* imanip)(istream&); istream& operator>>(char*); istream& operator>>(char&); istream& operator>>(int&); istream& operator>>(float&); istream& operator>>( imanip func) { return (*func)(*this); } istream& operator>>(streambuf*); Una stringa è una sequenza di caratteri preceduta e seguita da spazi L operatore >> non legge gli spazi istream& get(char* ptr, int len, char delim = \n ); istream& get(char&); istream& getline(char*, int, char); istream& get(streambuf& sb, char delim = \n ); istream& read(char*, streamsize); istream& gets(char** s, char delim = \n ); get e read leggono anche gli spazi 6 7 Controllo Caratteri Estratti da istream Metodi di controllo del Flusso della Classe istream L interfaccia pubblica di istream fornisce una serie di metodi per controllare il comportamento del flusso sapere quanti caratteri sono stati letti nell ultima operazione rispedire indietro nel flusso un carattere non voluto ignorare una serie di caratteri presenti nel flusso di input verificare il valore del prossimo carattere del flusso senza estrarlo _IO_size_t _gcount; istream() { _gcount = 0; } istream(streambuf* sb, ostream* tied = NULL); _IO_size_t gcount(); int peek(); istream& putback(char); istream& unget(); istream& ignore(int n, int delim = EOF); 8 9 Classe ostream Classe ostream La classe ostream rappresenta un flusso di output standard (il terminale) cout, cerr, clog sono variabili di tipo ostream definite in iostream.h L interfaccia pubblica della classe ostream contiene i metodi che consentono di effettuare l output di oggetti di tipo predefinito tramite l operatore << La classe contiene anche metodi che consentono di avere un controllo più preciso sulla gestione del flusso di output 10 typedef osteam& (* omanip)(ostream&); class ostream : virtual public ios { ostream& operator<<(const char*); ostream& operator<<(const void*); ostream& operator<<(char); ostream& operator<<(int); ostream& operator<<(float); ostream& operator<<( omanip func) { return (*func)(*this); } ostream& operator>>(streambuf*); /02 2
3 Altri Metodi della Classe ostream Manipolatori di Flussi class ostream : virtual public ios { ostream& put(char); ostream& write(const char*, streamsize); ostream& flush(); ostream() {} ostream(streambuf* sb, ostream* tied = NULL); Un manipolatore di flusso è una funzione che prende in input un flusso e restituisce un flusso la funzione effettua delle operazioni sul flusso le classi istream e ostream consentono di passare il nome di un manipolatore come secondo argomento agli operatori di inserimento ed estrazione I manipolatori di flusso dichiarati in iostream.h sono ostream& flush(ostream&); ostream& endl(ostream&); ostream& ends(ostream&); istream& ws(istream&); Bufferizzato Stato di un Flusso Lo standard output è bufferizzato tutti i dati che il programma immette in cout non vengono direttamente inseriti nel flusso ma parcheggiati in un buffer quando il programma invia il comando di svuotamento del buffer tutti i dati parcheggiati vengono immessi nel flusso di output il comando di svuotamento del buffer è \n (endl) Anche l input da tastiera è bufferizzato i dati digitati non sono visibili al programma fino a quando non viene svuotato il buffer della tastiera (premendo invio) è possibile rendere l input da tastiera non bufferizzato Ogni flusso ha uno stato associato lo stato del flusso consente di individuare situazioni di errore per controllare se le operazioni sul flusso sono state eseguite correttamente basta controllare lo stato del flusso Gli stati di un flusso sono good (operazione eseguita correttamente) eof (è stato individuato il segnale di end of file) fail (è stata eseuita un operazione scorretta) bad (è stata eseguita un operazione che ha corrotto il flusso) Stato di un Flusso Formattazione dell Output Lo stato di un flusso può essere verificato attraverso metodi di accesso che consentono di leggere il valore della variabile stato class ios { enum io_state {goodbit, eofbit, failbit, badbit int good() const; int eof() const; int fail() const; int bad() const; void clear(io_state); La formattazione dell output definisce delle regole secondo le quali gli oggetti complessi devono essere trasformati in sequenze di caratteri la formattazione contribuisce a definire l aspetto esteriore dei dati forniti dal programma ampiezza dei campi precisione della rappresentazione dei valori decimali caratteri di riempimento legame tra flussi tutti i dati ed i metodi che servono a definire e modificare lo stato del formato dell output sono contenuti nella classe ios /02 3
4 Classe ios Manipolatori parametrizzati class ios { int width(int); int width() const; char fill(char); char fill() const; int precision(int); int precision() const; ostream* tie(ostream*); ostream* tie() const; long flags(long); long flags() const; long setf(long, long); long setf() const; long unsetf(long); Per modificare la formattazione dell output conviene utilizzare i manipolatori piuttosto che operare direttamente sui flag 18 La classe iostream consente di scrivere istruzioni del tipo cout << x << flush << y << endl; cout << setw(5) << x << y << endl; La funzione setw(int) non corrisponde alla definizione di omanip contenuta in iostream.h La libreria definisce un template di classe che consente di definire manipolatori che prendono diversi tipi di argomenti e definisce operatori << e >> per questi template 19 Template di manipolatore Altri Tipi di Flussi template<class T> class omanip { friend ostream& operator<<(ostream&, const omanip<t>&); ostream& (*_f)(ostream&, T); T _a; omanip(ostream& (*f)(ostream&, T), T); template<class T> inline ostream& operator<<(ostream& o, const omanip<t>& m) { return (*m._f)(o, m._a); } Il flusso da cui un programma può prelevare informazioni o su cui può immettere informazioni può essere di diversa natura standard input ed output file stringhe il compilatore vede sempre il mondo come un flusso di dati elementari a seconda del tipo di flusso cambia il comportamento del buffer che si interfaccia con il sistema operativo Derivazioni da iostream Flussi su file strstreambase istream istrstream ostrstream strstream ios iostream hasa ostrea m ifstream streambuf fstreambase ofstream fstream Le classi che rappresentano flussi da file sono derivate da istream e ostream tutte le operazioni di inserimento ed estrazione dal flusso sono ereditate Le nuove classi devono avere specifici metodi per aprire e chiudere un flusso muoversi all interno del flusso stabilire regole di spostamento nel flusso /02 4
5 Classe ifstream Classe ofstream class ifstream : public fstreambase, public istream { ifstream(const char* name, int mode, int prot); void open(const char*, int, int); void close(); La classe fstreambase è derivata da ios e serve a mantenere tutte le informazioni relative al file legato al flusso ed al buffer che interfaccia il flusso Le modalità di apertura di un file sono enum ios::open_mode { in, out, ate, append, trunc, nocreate, noreplace, binary class ofstream : public fstreambase, public ostream { ofstream(const char* name, int mode, int prot); void open(const char*, int, int); void close(); Flussi su Stringhe Spostamenti in un flusso class strstreambase : virtual public ios { La classe strstreambase è derivata da ios e serve a mantenere tutte le informazioni relative al file legato ad una stringa ed al buffer che interfaccia il flusso class istrstream : public strstreambase, public istream { class ostrstream : public strstreambase, public istream { 26 Se il flusso è legato ad un file o ad una stringa ha senso parlare di spostamento all interno del flusso Le operazioni di spostamento sono realizzate da metodi delle classi istream e ostream istream& seekg(streampos); istream& seekg(streamoff, seek_dir); streampos tellg(); Analoghe funzioni per ostream, ma i nomi terminano con p 27 Spostamenti in un flusso Esistono due funzioni seek per spostarsi in un flusso spostamento assoluto indica su quale posizione del flusso bisogna spostarsi spostamento relativo indica di quante posizioni ci si deve spostare da un punto di riferimento I possibili punti di riferimento sono enum ios::seek_dir{ beg, cur, end /02 5
Input/Output. Input/Output. Lezione 16
Input/Output Lezione 16 Input/Output in C++ Il linguaggio C++ non prevede istruzioni specifiche per gestire le operazioni di input ed output di un programma L input e l output può essere gestito attraverso
DettagliIngresso ed Uscita(1)
Ingresso ed Uscita(1) Un flusso (stream) corrisponde ad un istanza di una classe la cui parte pubblica contiene le operazioni necessarie e la parte privata le strutture dati (tra cui un buffer per memorizzare
DettagliInput / Output attraverso stream. I/O in C vs. I/O in C++
Alessio Bechini - Corso di - Input / Output attraverso stream (anno accademico 2002-2003) Utilizzo di stream per I/O I/O in C vs. I/O in C++ La libreria C standard per l I/O viene acceduta con stdio.h
DettagliGli stream. ios ostream. istream. iostream
I/O da FILE Gli stream Alla base delle operazioni di I/O, in C++, sta il concetto di stream (flusso) di byte tra la memoria principale ed i dispositivi di input (la tastiera, i file di sola lettura) e
DettagliConcetto di stream. c i a o \0. c i a o \0. c i a o \0
Concetto di stream Uno stream è un flusso di byte che permette al programma di comunicare con l esterno (es. con periferiche di input/output) c i a o \0 c i a o \0 c i a o \0 Stream di uscita standard
DettagliInformatica e Laboratorio di Programmazione C++ stream Alberto Ferrari. Alberto Ferrari Informatica e Laboratorio di Programmazione
Informatica e Laboratorio di Programmazione C++ stream Alberto Ferrari Alberto Ferrari Informatica e Laboratorio di Programmazione stream o l input/output del C++ è basato sugli stream o gli stream sono
DettagliGli stream Classi, oggetti e librerie per l I/O cout, cin I manipolatori di stream, la libreria <iomanip> I flag di formattazione Gerarchia di dati
I/O da FILE Indice Gli stream Classi, oggetti e librerie per l I/O cout, cin I manipolatori di stream, la libreria I flag di formattazione Gerarchia di dati Creazione di file Apertura di file
DettagliIntroduzione al C++ Parte 2
Introduzione al C++ Parte 2 Sommario Le differenze fra C e C++ il qualificatore const i namespace gli stream Evitare modifiche accidentali Il qualificatore const indica che la variabile non può più essere
DettagliClassi, oggetti e librerie per l'i/o
I/O da FILE Indice Gli stream Classi, oggetti e librerie per l I/O cout, cin I manipolatori di stream, la libreria I flag di formattazione Gerarchia di dati Creazione di file Apertura di file
DettagliFondamenti di Informatica 2008 corso prof. A. Picariello. Operazioni sui FILE in C++
Fondamenti di Informatica 2008 corso prof. A. Picariello Operazioni sui FILE in C++ Librerie di I/O per la gestione dei FILE Il C++ consente di utilizzare le librerie standard di I/O del C mette anche
DettagliUno stream rappresenta un flusso di dati da cui e' possibile
L'I/O in C++ e' basato sul concetto di stream. Uno stream rappresenta un flusso di dati da cui e' possibile prelevare caratteri (input stream) inserire caratteri (output stream) I vari tipi di stream sono
DettagliLaboratorio di Informatica
Gli stream in C++ Laboratorio di Informatica 8. Gestione I/O e file in C++ Corso di Laurea in Ingegneria Elettronica e Telecomunicazioni A.A. 2013-2014 2 Semestre Prof. Giovanni Pascoschi stream è un astrazione
DettagliGestione dei file di dati
Gestione dei file di dati 1. Le classi di input/output Il linguaggio C++ non dispone di proprie istruzioni per la gestione dell interazione con l utente. Si appoggia infatti su appositi comandi scritti
DettagliStandard Input e Standard Output
Istruzioni di I/O Standard Input e Standard Output Il C++ utilizza i concetti di standard input e standard output rispettivamente come astrazione di un canale per l ingresso e per l uscita dei dati In
DettagliINFORMATICA File di testo in C Roberta Gerboni
2018 - Roberta Gerboni File di testo in C++ Il linguaggio C++ mette a disposizione le seguenti classi per operare sui file (è necessario includere nel programma l header ), consentendo tipo di
DettagliFondamenti di Informatica II 24. Gestione I/O e File in C++
Gli stream in C++ stream è un astrazione che rappresenta un flusso di dati che scorre tra una sorgente e una destinazione idea di Stroustrup : una sequenza di caratteri Fondamenti di Informatica II 24.
DettagliCorso 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
DettagliCosa 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
DettagliUniversità degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Stringhe. Anno Accademico 2010/2011 Francesco Tortorella
Corso di Informatica Tipi strutturati: Stringhe Anno Accademico 2010/2011 Francesco Tortorella Stringhe di caratteri La stringa è il tipo strutturato con cui vengono rappresentati gruppi di caratteri quali
DettagliLibreria Standard del C++
Libreria Standard del C++ La Libreria Standard 1 del C++ mette a disposizione, per l'esecuzione delle operazioni di inputoutput, un insieme di classi, funzioni e oggetti globali (tutti definiti nel namespace
DettagliCorso di Fondamenti di Informatica Tipi strutturati: Stringhe
Corso di Fondamenti di Informatica Tipi strutturati: Stringhe Anno Accademico Francesco Tortorella Stringhe di caratteri La stringa è il tipo strutturato con cui vengono rappresentati gruppi di caratteri
DettagliIntroduzione alla programmazione in linguaggio C
Introduzione alla programmazione in linguaggio C Il primo programma in C commento Header della libreria Funzione principale Ogni istruzione in C va terminata con un ; Corso di Informatica AA. 2007-2008
Dettagliciclo di vita della soluzione (informatica) di un problema
Università di Roma Tor Vergata L2-1 ciclo di vita della soluzione (informatica) di un problema errori run-time errori sintattici codice editor codice C++ compilatore esegui eseguibile OK risultati scorretti
DettagliLaboratorio di programmazione
Laboratorio di programmazione Lezione I Tatiana Zolo zolo@cs.unipr.it 1 L ORGANIZZAZIONE DEL COMPUTER Unità di input: sezione ricevente. dispositivi di input Ò ÓÖÑ Þ ÓÒ altre unità per l elaborazione.
DettagliIL 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
DettagliSoluzione del 15 febbraio 2016
Soluzione del 15 febbraio 2016 Problema 1 Un programma che effettua quanto richiesto, senza alcuna pretesa da parte di chi l avesse scritto, potrebbe essere il seguente: # include # include
DettagliGESTIONE 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
DettagliFile. Unità 8. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliCorso di Fondamenti di Informatica Prof. Aldo Franco Dragoni Prova scritta del 21/06/2010. Avvertenze. Specifiche
Avvertenze Usare ESCLUSIVAMENTE penne ad inchiostro nero o blu (NO MATITE). Consegnare solo fogli formato A4 scritti da ambo le parti. In testa a ciascun foglio scrivere: cognome, nome, numero progressivo
DettagliGestione 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)
DettagliHo raggiunto la fine del file Provo a leggere un intero, ma il dato che prelevo dal file non è un intero
Stato di uno stream Uno stream possiede uno stato, che può essere corretto o errato. Quando lo stream è in stato di errore, non posso utilizzarlo. In lettura: Apertura di un file che non esiste X Ho raggiunto
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Tipo Stringa G. Mecca M. Samela Università della Basilicata Tipo Stringa >> Sommario Sommario Generalità del Tipo Stringa in C++ Operazioni sulle Stringhe Lettura
DettagliEreditarietà. Unità 9. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 4 Lettura e Stampa dei Dati versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima
DettagliLaboratorio di programmazione
Laboratorio di programmazione Lezione I Tatiana Zolo zolo@cs.unipr.it 1 L ORGANIZZAZIONE DEL COMPUTER Unità di input: sezione ricevente. dispositivi di input altre unità per l elaborazione. ORGANIZZAZIONE
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Le Stringhe versione 2.1 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca mecca@unibas.it Università
DettagliIntroduzione C++ Il compilatore. La compilazione in g++ Introduzione a C, C++ e Java. C++ C Java 1977 C 1986 C++ Compilatori Librerie Usare oggetti
Introduzione a C, C++ e Java Introduzione C++ Compilatori Librerie Usare oggetti 1977 C 1986 C++ a better C con estensioni agli oggetti oggi uno standard industriale 1994 Java C ++ -- C++ C Java programmazione
Dettagliingresso/uscita da file
ingresso/uscita da file fino ad ora: il programma in esecuzione legge (sequenzialmente) una sequenza di caratteri prodotti al volo dall utente (tramite tastiera) il programma in esecuzione scrive (sequenzialmente)
DettagliIntroduzione C++ Compilatori Librerie Usare oggetti. Introduzione a C, C++ e Java
Introduzione C++ Compilatori Librerie Usare oggetti Introduzione a C, C++ e Java 1977 C 1986 C++ a better C con estensioni agli oggetti oggi uno standard industriale 1994 Java C ++ -- C++ C Java programmazione
DettagliIntroduzione C++ Compilatori Librerie Usare oggetti
Introduzione C++ Compilatori Librerie Usare oggetti Introduzione a C, C++ e Java 1977 C 1986 C++ a better C con estensioni agli oggetti oggi uno standard industriale 1994 Java C ++ -- C++ C Java programmazione
DettagliInput/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
DettagliINPUT/OUTPUT. L'immissione dei dati di un programma e l uscita dei suoi risultati avvengono attraverso operazioni di lettura e scrittura
INPUT/OUTPUT L'immissione dei dati di un programma e l uscita dei suoi risultati avvengono attraverso operazioni di lettura e scrittura C non ha istruzioni predefinite per l'input/output In ogni versione
DettagliAssegnazione di una variabile
Assegnazione di una variabile Per scrivere un valore dentro una variabile si usa l operatore di assegnazione, che è rappresentato dal simbolo =. Quindi, se scrivo int a; a = 12; assegno alla variabile
DettagliIl 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
DettagliISTITUTO TECNICO INDUSTRIALE STATALE LA GESTIONE DEI FILE DI TESTO IN C++
ISTITUTO TECNICO INDUSTRIALE STATALE G A L I L E O F E R R A R I S DIISPENSA DII IINFORMATIICA E SIISTEMII AUTOMATIICII LA GESTIONE DEI FILE DI TESTO IN C++ Le classi per la gestione dei file. Il C++ è
DettagliInput/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
DettagliCompendio sottoinsieme del C++ a comune col C. (Libreria standard, Input/Output, Costanti, Dichiarazioni e typedef, Memoria Dinamica)
Compendio sottoinsieme del C++ a comune col C (Libreria standard, Input/Output, Costanti, Dichiarazioni e typedef, Memoria Dinamica) Librerie 1/2 Il solo insieme di istruzioni di un linguaggio di programmazione
DettagliFile 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
DettagliFiles in C++ Fondamenti di Informatica. R. Basili. a.a. 2006-2007
Files in C++ Fondamenti di Informatica R. Basili a.a. 2006-2007 Sintesi Motivazioni Definizione di file in C++ Un esempio Uso dei file Esempi Esercizi Motivazioni il programma in esecuzione legge (sequenzialmente)
Dettagli#include <iostream> // libreria che gestisce flusso di input e output. using namespace std; // uso di librerie standard del C++
Qualsiasi programma in C++ segue lo schema: #include // libreria che gestisce flusso di input e output using namespace std; // uso di librerie standard del C++ int main() { // dichiarazioni
DettagliIl primo programma C++
Il primo programma C++ Un programma in qualsiasi linguaggio evoluto è una sequenza di istruzioni che la CPU dopo opportune conversioni esegue. La sintassi dei linguaggi di programmazione è molto piu rigida
DettagliOperazioni di lettura/scrittura
Funzioni di I/O Operazioni di lettura/scrittura C++ fornisce numerose funzioni per leggere da uno stream di input (come cin) o scrivere su uno stream di output. Lettura: >>, getline, get, ignore etc. Scrittura:
DettagliL'immissione dei dati di un programma e l uscita dei suoi risultati avvengono attraverso operazioni di lettura e scrittura
INPUT/OUTPUT L'immissione dei dati di un programma e l uscita dei suoi risultati avvengono attraverso operazioni di lettura e scrittura C non ha istruzioni i ipredefinite it per l'input/output t t In ogni
DettagliTitolo presentazione INFORMATICA. sottotitolo A.A Milano, XX mese 20XX Laboratorio n 4 Ing. Gian Enrico Conti Dott.
Titolo presentazione INFORMATICA A sottotitolo A.A. 2017-18 Milano, XX mese 20XX Laboratorio n 4 Ing. Gian Enrico Conti Dott. Michele Zanella Info Logistiche (cont d) Calendario laboratori Data Orario
DettagliText files, streams. I file che ci interessano sono file di testo. anche se, logicamente, contengono numeri o altro
Text files, streams I file che ci interessano sono file di testo anche se, logicamente, contengono numeri o altro In C/C++ ci sono anche i file binari, ma li ignoriamo file di testo = ASCII file = successione
DettagliLe classi. Classi derivate
Classi derivate È possibile esprimere proprietà comuni tra le classi? I concetti che sottendono alle definizioni delle classi, sono in relazione tra loro o sono in comune? struct studente { string name;
DettagliIngresso ed Uscita in C. Informatica 1 / 15
Ingresso ed Uscita in C Informatica 1 / 15 Input e Output in C Linguaggio C: progettato per essere semplice e con poche istruzioni Non esistono istruzioni di ingresso / uscita (I/O)!!! Ingresso ed uscita
DettagliInput/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
Dettagli2) 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
DettagliGestione 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è
DettagliINPUT 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
DettagliInput / 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
DettagliLaboratorio 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
DettagliL AMBIENTE CODE BLOCKS E L IO
L AMBIENTE CODE BLOCKS E L IO Il primo programma in C++ #include using namespace std; main() { cout
DettagliInput / 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
DettagliSommario. Introduzione... xv. Giorno 1 Elementi base del linguaggio C
Sommario Introduzione... xv Organizzazione del volume... xv Argomenti...xvi Domande...xvi Verifiche...xvi Domande e risposte...xvi Esercizi...xvi Non è richiesta alcuna precedente esperienza di programmazione...
DettagliCorso 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
DettagliI/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
DettagliPremessa. 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
DettagliInformazioni Utili. Strumenti Utilizzati. Creazione e gestione di un progetto. Fondamenti di Informatica L-B (L-Z) Esercitazioni
Informazioni Utili Fondamenti di Informatica L-B (L-Z) Esercitazioni A.A. 2005/06 Tutor: Loris Cancellieri loris.cancellieri@studio.unibo.it Orario delle Esercitazioni Lunedì 14-16 Gruppo L Q Martedì 16-18
DettagliLa programmazione Orientata agli Oggetti: OOP
La programmazione Orientata agli Oggetti: OOP Il modo di pensare per categorie è tipico dell uomo: tutti noi tentiamo di organizzare le conoscenze classificandole ed affrontiamo lo studio dei problemi
DettagliLe 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
DettagliSommario PREFAZIONE... XI CAPITOLO 1: INTRODUZIONE: I COMPUTER, LA PROGRAMMAZIONE E IL C
Sommario PREFAZIONE... XI Lo scopo di questo libro... xi Le sezioni Pensare in termini di oggetti... xii Il CD-ROM... xiv La metodologia di insegnamento... xiv L apprendimento attraverso il codice... xiv
DettagliFileInputStream read() read(byte[]) readint() DataInputStream FileInputStream EOFException
ESERCITAZIONE 9 I/O Esercizio 1 Lettura da file binario Se gli interi letti appartengono a [-5;5] scrittura su un altro file binario Altrimenti sollevare una eccezione la quale stampa a video un messaggio
DettagliEsercitazioni di Fondamenti di Informatica - Lez. 9 4/12/2018
Esercitazioni di Fondamenti di Informatica - Lez. 9 /1/018 Esercizi sulla gestione dei file in C Il codice degli esercizi e contenuto nella cartella parte1 1. Creare una funzione C che legga tutto cio
DettagliI 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
DettagliFondamenti di Informatica Ing. Biomedica
Fondamenti di Informatica Ing. Biomedica Esercitazione n.9 Stringhe & Algoritmi di ordinamento Antonio Arena antonio.arena@ing.unipi.it Stringhe Fondamenti di Informatica - Esercitazione n.9 2 In C++ non
DettagliQualsiasi programma in C++ segue lo schema:
Qualsiasi programma in C++ segue lo schema: #include // libreria che gestisce flusso di input e output using namespace std; // uso di librerie standard del C++ int main() { // dichiarazioni
DettagliL AMBIENTE CODE BLOCKS E L IO
L AMBIENTE CODE BLOCKS E L IO Il primo programma #include main() { printf("ciao Mondo!"); } Il file deve essere salvato con estensione.c Il primo programma in C++ #include using
DettagliPassaggio di parametri per valore
Passaggio di parametri per valore #include using namespace std; int main() { int z, x = 1; z = ; cout
DettagliCorso di Algoritmi e Strutture Dati Lezione del Esercitatrice: dott.ssa Susanna Cozza. L argomento della lezione
L argomento della lezione Dall informazione al file Per permettere il riutilizzo di informazioni oltre la durata dei programmi che le hanno prodotte, i dati sono allocati su dispositivi in memoria secondaria.
DettagliInput/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
DettagliIntroduzione alla programmazione. Alice Pavarani
Introduzione alla programmazione Alice Pavarani Il linguaggio C Creato da Dennis Ritchie nel 1972 presso i Bell Laboratories Linguaggio di programmazione procedurale, strutturato Linguaggio ad alto livello
DettagliLaboratorio 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
DettagliInformazioni Utili. Fondamenti di Informatica L-B (L-Z) Esercitazioni. A.A. 2005/06 Tutor: Loris Cancellieri
Fondamenti di Informatica L-B (L-Z) Esercitazioni A.A. 2005/06 Tutor: Loris Cancellieri loris.cancellieri@studio.unibo.it Informazioni Utili Orario delle Esercitazioni Lunedì 14-16 Gruppo L Q Martedì 16-18
DettagliOperazioni 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
DettagliLe operazioni I/0 in C++
Le operazioni I/0 in C++ R.C. La gerarchia di classi stream La Libreria Standard del C++ mette a disposizione, per l'esecuzione delle operazioni di input-output, un insieme di classi, funzioni e oggetti
DettagliLezione 14. Stream, fstream e file
Lezione 14 Stream, fstream e file Output streams stream: sequenza di caratteri ostream: meccanismo per convertire valori di vario tipo in sequenze di caratteri ostream Output formattato standard output
DettagliInput / 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
DettagliINPUT/OUTPUT L'immissione dei dati di un programma e l uscita dei suoi risultati avvengono attraverso operazioni di lettura e scrittura.
INPUT/OUTPUT L'immissione dei dati di un programma e l uscita dei suoi risultati avvengono attraverso operazioni di lettura e scrittura. Il C non ha istruzioni predefinite per l'input/output. In ogni versione
DettagliELEMENTI 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:
DettagliPerchè 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
DettagliIntroduzione al linguaggio C Primi programmi
Introduzione al linguaggio C Primi programmi Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica
DettagliIngresso ed Uscita in C. Luca Abeni
Ingresso ed Uscita in C Luca Abeni Input e Output in C Linguaggio C: progettato per essere semplice e con poche istruzioni Non esistono neanche istruzioni di ingresso / uscita (I/O)!!! Ingresso ed uscita
DettagliFormattazione avanzata. Modificatori di formato in output Modificatori di formato in input Stream predefiniti
I/O Avanzato e File Formattazione avanzata Modificatori di formato in output Modificatori di formato in input Stream predefiniti 2 Formattazione avanzata Formattazione dell output L output (su schermo
DettagliQualsiasi programma in C++ segue lo schema:
Qualsiasi programma in C++ segue lo schema: #include // libreria che gestisce flusso di input e output using namespace std; // uso di librerie standard del C++ int main() { // dichiarazioni
Dettagli