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_filebuf
Elem
<, . Tr
>
Il secondo e il terzo costruttore inizializzano la classe base chiamando basic_ostream( sb)
. Inizializza sb
anche chiamando<Elem
basic_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