Classe basic_ofstream

Descrive un oggetto che controlla l'inserimento di elementi e oggetti codificati in un buffer di flusso della classe basic_filebuf< Elem, Tr>, con elementi di tipo Elem, i cui tratti di carattere sono determinati dalla classe Tr. Per ulteriori informazioni, vedere basic_filebuf.

Sintassi

template <class Elem, class Tr = char_traits<Elem>>
class basic_ofstream : public basic_ostream<Elem, Tr>

Parametri

Elem
L'elemento di base del buffer di file.

Tr
Tratti dell'elemento di base del buffer di file (in genere char_traits<Elem>).

Osservazioni:

Quando la wchar_t specializzazione delle basic_ofstream scritture nel file, se il file viene aperto in modalità testo, scriverà una sequenza MBCS. La rappresentazione interna userà un buffer di caratteri wchar_t.

L'oggetto archivia un oggetto della classe basic_filebuf< Elem, Tr>.

Esempio

L'esempio seguente illustra come creare un oggetto basic_ofstream e scrivervi del testo.

// basic_ofstream_class.cpp
// compile with: /EHsc
#include <fstream>

using namespace std;

int main(int argc, char **argv)
{
    ofstream ofs("ofstream.txt");
    if (!ofs.bad())
    {
        ofs << "Writing to a basic_ofstream object..." << endl;
        ofs.close();
    }
}

Costruttori

Costruttore Descrizione
basic_ofstream Crea un oggetto di tipo basic_ofstream.

Funzioni membro

Funzione membro Descrizione
close Chiude un file.
is_open Determina se un file è aperto.
open Apre un file.
rdbuf Restituisce l'indirizzo del buffer del flusso archiviato.
swap Scambia il contenuto di questo basic_ofstream per il contenuto dell'oggetto basic_ofstream fornito.

Operatori

Operatore Descrizione
operator= Assegna il contenuto di questo oggetto flusso. Si tratta di un'assegnazione di spostamento che coinvolge un rvalue reference oggetto che non lascia una copia dietro.

Requisiti

Intestazione: <fstream>

Spazio dei nomi: std

basic_ofstream::basic_ofstream

Crea un oggetto di tipo basic_ofstream.

basic_ofstream();

explicit basic_ofstream(
    const char* _Filename,
    ios_base::openmode _Mode = ios_base::out,
    int _Prot = (int)ios_base::_Openprot);

explicit basic_ofstream(
    const wchar_t* _Filename,
    ios_base::openmode _Mode = ios_base::out,
    int _Prot = (int)ios_base::_Openprot);

basic_ofstream(
    basic_ofstream&& right);

Parametri

_Filename
Nome del file da aprire.

_Mode
Una delle enumerazioni in ios_base::openmode.

_Prot
Protezione di apertura file predefinita, equivalente al shflag parametro in _fsopen, _wfsopen.

right
Il riferimento rvalue all'oggetto basic_ofstream usato per inizializzare questo oggetto basic_ofstream.

Osservazioni:

Il primo costruttore inizializza la classe base chiamando basic_ostream(sb), dove sb è l'oggetto archiviato della classe basic_filebuf< Elem, Tr>. Inizializza sb anche chiamando basic_filebufElem<, . Tr>

Il secondo e il terzo costruttore inizializzano la classe base chiamando basic_ostream( sb). Inizializza sb anche chiamando<Elembasic_filebuf e Tr> quindi .sb.open( _Filename, _Mode | ios_base::out) Se quest'ultima funzione restituisce un NULL puntatore, il costruttore chiama setstate(failbit).

Il quarto costruttore è una funzione di copia. Inizializza l'oggetto con il contenuto di right, considerato come riferimento rvalue.

Per altre informazioni, vedere basic_ostream, open e setstate.

Esempio

L'esempio seguente illustra come creare un oggetto basic_ofstream e scrivervi del testo.

// basic_ofstream_ctor.cpp
// compile with: /EHsc
#include <fstream>

using namespace std;

int main(int argc, char **argv)
{
    ofstream ofs("C:\\ofstream.txt");
    if (!ofs.bad())
    {
        ofs << "Writing to a basic_ofstream object..." << endl;
        ofs.close();
    }
}

basic_ofstream::close

Chiude un file.

void close();

Osservazioni:

La funzione membro chiama rdbuf->close. Per altre informazioni, vedere rdbuf e close.

Esempio

Vedere basic_filebuf::close per un esempio che usa close.

basic_ofstream::is_open

Indica se un file è aperto.

bool is_open() const;

Valore restituito

true se il file è aperto; in caso contrario, false.

Osservazioni:

La funzione membro restituiscerdbuf->is_open. Per altre informazioni, vedere rdbuf e is_open.

Esempio

// basic_ofstream_is_open.cpp
// compile with: /EHsc
#include <fstream>
#include <iostream>

int main( )
{
   using namespace std;
   ifstream file;
   // Open and close with a basic_filebuf
   file.rdbuf( )->open( "basic_ofstream_is_open.txt", ios::in );
   file.close( );
   if (file.is_open())
      cout << "it's open" << endl;
   else
      cout << "it's closed" << endl;
}

basic_ofstream::open

Apre un file.

void open(
    const char* _Filename,
    ios_base::openmode _Mode = ios_base::out,
    int _Prot = (int)ios_base::_Openprot);

void open(
    const char* _Filename,
    ios_base::openmode _Mode);

void open(
    const wchar_t* _Filename,
    ios_base::openmode _Mode = ios_base::out,
    int _Prot = (int)ios_base::_Openprot);

void open(
    const wchar_t* _Filename,
    ios_base::openmode _Mode);

Parametri

_Filename
Nome del file da aprire.

_Mode
Una delle enumerazioni in ios_base::openmode.

_Prot
Protezione di apertura file predefinita, equivalente al shflag parametro in _fsopen, _wfsopen.

Osservazioni:

La funzione membro chiama rdbuf -> open(_ Filename, _Mode | ios_base::out). Se tale funzione restituisce un NULL puntatore, la funzione chiama setstate(failbit).

Per altre informazioni, vedere rdbuf, open e setstate.

Esempio

Vedere basic_filebuf::open per un esempio che usa open.

basic_ofstream::operator=

Assegna il contenuto di questo oggetto flusso. Si tratta di un'assegnazione di spostamento che coinvolge un rvalue reference oggetto che non lascia una copia dietro.

basic_ofstream& operator=(basic_ofstream&& right);

Parametri

right
Riferimento rvalue a un oggetto basic_ofstream.

Valore restituito

Restituisce *this.

Osservazioni:

L'operatore del membro sostituisce i contenuti dell'oggetto usando i contenuti di right, gestiti come un riferimento rvalue.

basic_ofstream::rdbuf

Restituisce l'indirizzo del buffer del flusso archiviato.

basic_filebuf<Elem, Tr> *rdbuf() const

Valore restituito

Restituisce l'indirizzo del buffer del flusso archiviato.

Esempio

Vedere basic_filebuf::close per un esempio che usa rdbuf.

basic_ofstream::swap

Scambia il contenuto di due oggetti basic_ofstream.

void swap(basic_ofstream& right);

Parametri

right
Riferimento lvalue a un altro oggetto basic_ofstream.

Osservazioni:

La funzione membro scambia il contenuto di questo oggetto con il contenuto di right.

Vedi anche

basic_ostream Classe
Thread Safety in the C++ Standard Library (Sicurezza dei thread nella libreria standard C++)
iostream Programmazione
iostreams Convenzioni