| (1) | |||
| (2) | |||
| (3) | (since C++11) | ||
| (4) | (since C++11) | ||
| (5) | (since C++11) |
Constructs new file stream.
1) Default constructor: constructs a stream that is not associated with a file: default-constructs the
std::basic_filebuf
and constructs the base with the pointer to this default-constructed std::basic_filebuf
member. 2) First, performs the same steps as the default constructor, then associates the stream with a file by calling
rdbuf()->open(filename, mode)
(see std::basic_filebuf::open
for the details on the effects of that call). If the open()
call returns a null pointer, sets setstate(failbit)
. 3) Same as
basic_fstream(filename.c_str(), mode)
. 4) Move constructor. First, move-constructs the base class from
other
(which does not affect the rdbuf()
pointer), then move-constructs the std::basic_filebuf
member, then calls this->set_rdbuf()
to install the new basic_filebuf
as the rdbuf()
pointer in the base class. 5) The copy-constructor is deleted: this class is not copyable.
Parameters
filename | - | the name of the file to be opened | ||||||||||||||
mode | - | specifies stream open mode. It is bitmask type, the following constants are defined:
| ||||||||||||||
other | - | another file stream to use as source |
Example
1 2 3 4 5 6 7 8 9 10 11 | #include <fstream> #include <utility> #include <string> int main() { std::fstream f0; std::fstream f1( "test.bin" , std::ios::binary); std::string name = "example.txt" ; std::fstream f2(name); std::fstream f3(std::move(f1)); } |
See also
opens a file and associates it with the stream (public member function) | |
opens a file and configures it as the associated character sequence (public member function of std::basic_filebuf ) | |
replaces the rdbuf without clearing its error state (protected member function) | |
constructs the object (public member function of std::basic_iostream ) |
Please login to continue.