Flussi di output
Un oggetto flusso di output è una destinazione per byte. Le tre classi di flusso di output più importanti sono ostream
, ofstream
e ostringstream
.
La classe ostream
, attraverso la classe derivata basic_ostream
, supporta gli oggetti di flusso predefiniti:
cout
output standardcerr
errore standard con buffer limitatoclog
simile acerr
ma con buffer completo
Raramente vengono costruiti oggetti da ostream
. Normalmente si usano oggetti predefiniti. In alcuni casi, è possibile riassegnare oggetti predefiniti dopo l'avvio del programma. La classe ostream
, che può essere configurata per operare con o senza buffer, è più adatta all'output in modalità testo sequenziale. Tutte le funzionalità della classe di base, ios
, sono incluse in ostream
. Se si costruisce un oggetto di classe ostream
, si deve specificare un oggetto streambuf
al costruttore.
La classe ofstream
supporta l'output di file su disco. Se è necessario un disco di solo output, costruire un oggetto della classe ofstream
. È possibile specificare se gli oggetti ofstream
accettano dati binari o in modalità testo durante la costruzione dell'oggetto ofstream
o durante la chiamata della funzione membro open
dell'oggetto. Molte opzioni di formattazione e funzioni membro si applicano agli oggetti ofstream
, che includono tutte le funzionalità delle classi di base ios
e ostream
.
Se si specifica un nome di file nel costruttore, tale file viene aperto automaticamente quando l'oggetto viene costruito. In alternativa, è possibile usare la funzione membro open
dopo aver richiamato il costruttore predefinito.
Analogamente alla funzione di runtime sprintf_s
, la classe ostringstream
supporta l'output nelle stringhe in memoria. Per creare una stringa in memoria usando la formattazione di flussi I/O, costruire un oggetto della classe ostringstream
.
In questa sezione
Costruzione di oggetti di flusso di output
Uso degli operatori di inserimento e controllo del formato
Funzioni membro del flusso di file di output
Overload dell'operatore << per le classi personalizzate
Scrittura di manipolatori personalizzati senza gli argomenti