1 / 15

Lezione VIII

Laboratorio di Programmazione. Lezione VIII. In C è sfruttata l’informazione riguardo al tipo di un certo dato per impostare la formattazione sullo stream. Es. Il char ‘A’ e l’ int 65 in memoria sono rappresentati allo stesso modo, ma vengono convertiti diversamente sullo stream!.

Download Presentation

Lezione VIII

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Laboratorio di Programmazione Lezione VIII

  2. In C è sfruttata l’informazione riguardo al tipo di un certo dato per impostare la formattazione sullo stream. Es. Il char ‘A’ e l’int 65 in memoria sono rappresentati allo stesso modo, ma vengono convertiti diversamente sullo stream! Streams formattati

  3. >> operatore di estrazione per operazioni di lettura (input) (contenuto nella libreria di funzioni <iostream>) Sintassi: stream_utilizzato >> variabile_tipata Semantica: legge da stream_utilizzato (o attende finchè arrivano dati) assegna la lettura alla variabile_tipata Lettura di uno stream Esempio: int x; cin >> x; cin è lo stream standard di input (tastiera)

  4. Esempio: int x,y; cin >> x >> y; Cascata di letture in ordine da Sinistra a Destra Lettura di uno stream Stream cin: 3 5 1 … x = ? y = ?

  5. Esempio: int x,y; cin >> x >> y; Cascata di letture in ordine da Sinistra a Destra Lettura di uno stream x Stream cin: 3 5 1 … x = 3 y = ? Il numero 3 è consumato dallo stream

  6. Esempio: int x,y; cin >> x >> y; Cascata di letture in ordine da Sinistra a Destra Lettura di uno stream x x Stream cin: 3 5 1 … x = 3 y = 5 Le prossime letture partiranno dal numero 1.

  7. Esempio: int x; cin >> x; Esempio: char x,y; cin >> x >> y; Tipo di dato letto cin = -1 cin = -1 x = -1 x = ‘-’ y = ‘1’

  8. << operatore di inserimento per operazioni di scrittura (output) (contenuto nella libreria di funzioni <iostream>) Sintassi: stream_utilizzato << espressione_tipata Semantica: immette sullo stream_utilizzato la valutazione della espressione_tipata Scrittura di uno stream Esempio: int x=1; cout << x; cout è lo stream standard di output (monitor)

  9. Esempio con cascata di scritture (associativo a sinistra): int x=1; int y=2; cout << x << ‘ ’ << y << endl << x + y << endl; Stream cout: 1 2 3 endl dà il comando di inviare un “a capo” sullo stream Esempio: int x=1; int y=2; cout << x + y; Stream cout: 3 Scrittura di uno stream

  10. I Files in C++ I files sono modellati come streams. fstream iostream La classe fstream conprende la iostream  basta #include fstream

  11. I Files in C++ Nella classe fstream ci sono due classi interessanti: ifstream = input file stream ofstream = output file stream. La prima classe è usata per leggere, mentre la seconda per scrivere. Molti metodi e attributi sono comuni, altri specifici della classe.

  12. Ifstream:Apertura e chiusura files char nomefile []=“prova.txt”; ifstream filein (nomefile); // apre il file in lettura if (filein.fail( ) ) { …} // controllo errori di apertura ……… // operazioni con l’oggetto filein filein.close ( ); // chiude il file

  13. Ifstream: lettura dati * filein >> variabile_tipata; (cfr. cin >> var) * char ch; ch = filein.get (); (cfr. ch = cin.get( ) ) ** filein.eof ( ) : funzione booleana vera se si è letto l’ultimo carattere del file (End Of File)

  14. Ofstream:Apertura e chiusura files char nomefile []=“prova.txt”; ofstream fileout (nomefile); // apre il file in scrittura // e CANCELLA l’eventuale file con // lo stesso nome if (fileout.fail( ) ) { …} // controllo errori di apertura ……… // operazioni con l’oggetto fileout fileout.close ( ); // chiude il file

  15. Ofstream: scrittura dati * fileout << variabile_tipata; (cfr. cout << ‘a’) * fileout.put (‘a’); (cfr. cin.put(‘a’)) ** fileout.eof ( ) è sempre falso (si possono sempre aggiungere bytes)

More Related