Condividi tramite


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 standard

  • cerr errore standard con buffer limitato

  • clog simile a cerr 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

Effetti del buffering

File di output binari

Overload dell'operatore << per le classi personalizzate

Scrittura di manipolatori personalizzati senza gli argomenti

Vedi anche

ofstream
ostringstream
iostream Programmazione