02.06.2013 Views

CORSO C++ STANDARD - Didattica.it

CORSO C++ STANDARD - Didattica.it

CORSO C++ STANDARD - Didattica.it

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Introduzione all'I/O sui dispos<strong>it</strong>ivi standard<br />

In questa lezione introdurremo le caratteristiche principali dell'I/O in <strong>C++</strong>, lim<strong>it</strong>andoci per il<br />

momento all'I/O in free-format sui dispos<strong>it</strong>ivi standard di input e di output.<br />

Precisiamo che useremo una libreria (dichiarata nell'header-file: ) che è ormai<br />

"superata" dalla Libreria Standard (alcuni compilatori danno un messaggio di warning,<br />

avvisando che si sta usando una "deprecated" (?!) library). Tuttavia questa libreria è ancora<br />

integrata nello standard e ci sembra un buon approccio per introdurre l'argomento.<br />

Dispos<strong>it</strong>ivi standard di I/O<br />

In <strong>C++</strong> (come in C) sono defin<strong>it</strong>i i seguenti dispos<strong>it</strong>ivi standard di I/O<br />

(elenchiamo i tre principali):<br />

• stdout standard output (di default associato al video)<br />

• stderr standard output per i messaggi (associato al video)<br />

• stdin standard input (di default associato alla tastiera)<br />

stdin e stdout sono reindirizzabili a files nella linea di comando quando si<br />

lancia il programma eseguibile.<br />

Oggetti globali di I/O<br />

In <strong>C++</strong> i dispos<strong>it</strong>ivi standard di I/O stdout, stderr e stdin sono "collegati"<br />

rispettivamente agli oggetti globali cout, cerr e cin.<br />

Oggetto (definizione temporanea): variabile appartenente a un tipo astratto,<br />

non nativo del linguaggio.<br />

Globale: visibile sempre e dappertutto.<br />

Un oggetto globale é creato appena si lancia il programma, prima che venga<br />

esegu<strong>it</strong>a la prima istruzione del main.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!