# std::basic_fstream< _CharT, _Traits > Class Template Reference

Controlling intput and output for files. More...

Inheritance diagram for std::basic_fstream< _CharT, _Traits >:

[legend]
Collaboration diagram for std::basic_fstream< _CharT, _Traits >:

[legend]
List of all members.

## Public Types

typedef _CharT | char_type
typedef _Traits | traits_type
typedef traits_type::int_type | int_type
typedef traits_type::pos_type | pos_type
typedef traits_type::off_type | off_type

## Public Methods

| basic_fstream ()
| Default constructor.
| basic_fstream (const char *__s, ios_base::openmode __mode=ios_base::in|ios_base::out)
| Create an input/output file stream.
| ~basic_fstream ()
| The destructor does nothing.
__filebuf_type * | rdbuf () const
| Accessing the underlying buffer.
bool | is_open ()
| Wrapper to test for an open file.
void | open (const char *__s, ios_base::openmode __mode=ios_base::in|ios_base::out)
| Opens an external file.
void | close ()
| Close the file.

## Detailed Description

### template<typename _CharT, typename _Traits>
class std::basic_fstream< _CharT, _Traits >

Controlling intput and output for files.

This class supports reading from and writing to named files, using the inherited functions from std::basic_iostream. To control the associated sequence, an instance of std::basic_filebuf is used, which this page refers to as `sb.`

Definition at line 704 of file fstream.

## Member Typedef Documentation

template<typename _CharT, typename _Traits>
typedef _CharT std::basic_fstream< _CharT, _Traits >::char_type

| These are standard types. They permit a standardized way of referring to names of (or names dependant on) the template parameters, which are specific to the implementation. Reimplemented from std::basic_istream< _CharT, _Traits > . Definition at line 708 of file fstream.

template<typename _CharT, typename _Traits>
typedef traits_type::int_type std::basic_fstream< _CharT, _Traits >::int_type

| These are standard types. They permit a standardized way of referring to names of (or names dependant on) the template parameters, which are specific to the implementation. Reimplemented from std::basic_istream< _CharT, _Traits > . Definition at line 710 of file fstream.

template<typename _CharT, typename _Traits>
typedef traits_type::off_type std::basic_fstream< _CharT, _Traits >::off_type

| These are standard types. They permit a standardized way of referring to names of (or names dependant on) the template parameters, which are specific to the implementation. Reimplemented from std::basic_istream< _CharT, _Traits > . Definition at line 712 of file fstream.

template<typename _CharT, typename _Traits>
typedef traits_type::pos_type std::basic_fstream< _CharT, _Traits >::pos_type

| These are standard types. They permit a standardized way of referring to names of (or names dependant on) the template parameters, which are specific to the implementation. Reimplemented from std::basic_istream< _CharT, _Traits > . Definition at line 711 of file fstream.

template<typename _CharT, typename _Traits>
typedef _Traits std::basic_fstream< _CharT, _Traits >::traits_type

| These are standard types. They permit a standardized way of referring to names of (or names dependant on) the template parameters, which are specific to the implementation. Reimplemented from std::basic_istream< _CharT, _Traits > . Definition at line 709 of file fstream.

## Constructor & Destructor Documentation

template<typename _CharT, typename _Traits>
std::basic_fstream< _CharT, _Traits >::basic_fstream | ( |  | ) | `[inline]`

| Default constructor. Initializes `sb` using its default constructor, and passes `&sb` to the base class initializer. Does not open any files (you haven't given it a filename to open). Definition at line 737 of file fstream. References std::basic_ios< _CharT, _Traits >::init() .

template<typename _CharT, typename _Traits>
std::basic_fstream< _CharT, _Traits >::basic_fstream | ( | const char * | __s,
|  | ios_base::openmode | __mode = ios_base::in | ios_base::out
| ) | `[inline, explicit]`

Create an input/output file stream.

Parameters:

  s | Null terminated string specifying the filename.
  mode | Open file in specified mode (see std::ios_base).

Tip: When using std::string to hold the filename, you must use .c_str() before passing it to this constructor.

Definition at line 750 of file fstream.

References std::basic_ios< _CharT, _Traits >::init() , and std::basic_fstream< _CharT, _Traits >::open() .

template<typename _CharT, typename _Traits>
std::basic_fstream< _CharT, _Traits >::~basic_fstream | ( |  | ) | `[inline]`

| The destructor does nothing. The file is closed by the filebuf object, not the formatting stream. Definition at line 764 of file fstream.

## Member Function Documentation

template<typename _CharT, typename _Traits>
void std::basic_fstream< _CharT, _Traits >::close | ( |  | ) | `[inline]`

| Close the file. Calls `std::basic_filebuf::close().` If that function fails, `failbit` is set in the stream's error state. Definition at line 811 of file fstream. References std::basic_ios< _CharT, _Traits >::setstate() .

template<typename _CharT, typename _Traits>
bool std::basic_fstream< _CharT, _Traits >::is_open | ( |  | ) | `[inline]`

Wrapper to test for an open file.

Returns:
  `rdbuf()->is_open()`

Definition at line 783 of file fstream.

template<typename _CharT, typename _Traits>
void std::basic_fstream< _CharT, _Traits >::open | ( | const char * | __s,
|  | ios_base::openmode | __mode = ios_base::in | ios_base::out
| ) | `[inline]`

Opens an external file.

Parameters:

  s | The name of the file.
  mode | The open mode flags.

Calls `std::basic_filebuf::open(s,mode).` If that function fails, `failbit` is set in the stream's error state.

Tip: When using std::string to hold the filename, you must use .c_str() before passing it to this constructor.

Definition at line 797 of file fstream.

References std::basic_ios< _CharT, _Traits >::setstate() .

Referenced by std::basic_fstream< _CharT, _Traits >::basic_fstream() .

template<typename _CharT, typename _Traits>
__filebuf_type* std::basic_fstream< _CharT, _Traits >::rdbuf | ( |  | ) | const`[inline]`

Accessing the underlying buffer.

Returns:
  The current basic_filebuf buffer.

This hides both signatures of std::basic_ios::rdbuf().

Reimplemented from std::basic_ios< _CharT, _Traits > .

Definition at line 775 of file fstream.

The documentation for this class was generated from the following file:

- fstream