Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Clase
Describe un objeto que controla la extracción de elementos y objetos codificados de un búfer de flujo de clase basic_filebuf<Elem, Tr>, con elementos de tipo Elem, cuyos rasgos de caracteres están determinados por la clase Tr.
Para obtener más información, vea basic_filebuf.
Sintaxis
template <class Elem, class Tr = char_traits<Elem>>
class basic_ifstream : public basic_istream<Elem, Tr>
Parámetros
Elem
Elemento básico del búfer del archivo.
Tr
Rasgos del elemento básico del búfer del archivo (normalmente char_traits<Elem>).
Comentarios
El objeto almacena un objeto de clase basic_filebuf<Elem, Tr>.
Ejemplo
En el siguiente ejemplo se muestra cómo leer texto de un archivo.
// basic_ifstream_class.cpp
// compile with: /EHsc
#include <fstream>
#include <iostream>
using namespace std;
int main(int argc, char **argv)
{
ifstream ifs("basic_ifstream_class.txt");
if (!ifs.bad())
{
// Dump the contents of the file to cout.
cout << ifs.rdbuf();
ifs.close();
}
}
Entrada: basic_ifstream_class.txt
This is the contents of basic_ifstream_class.txt.
Output
This is the contents of basic_ifstream_class.txt.
Constructores
| Constructor | Descripción |
|---|---|
basic_ifstream |
Inicializa una nueva instancia de un objeto basic_ifstream. |
Funciones miembro
| Función de miembro | Descripción |
|---|---|
close |
Cierra un archivo. |
is_open |
Determina si un archivo está abierto. |
open |
Abre un archivo. |
rdbuf |
Devuelve la dirección del búfer de secuencia almacenado. |
swap |
Intercambia el contenido de basic_ifstream por el contenido del basic_ifstream proporcionado. |
Operadores
| Operador | Descripción |
|---|---|
operator= |
Asigna el contenido de este objeto de secuencia. Se trata de una asignación de movimiento que implica un rvalue que no deja ninguna copia atrás. |
Requisitos
Encabezado: <fstream>
Espacio de nombres: std
basic_ifstream::basic_ifstream
Construye un objeto de tipo basic_ifstream.
basic_ifstream();
explicit basic_ifstream(
const char* _Filename,
ios_base::openmode _Mode = ios_base::in,
int _Prot = (int)ios_base::_Openprot);
explicit basic_ifstream(
const wchar_t* _Filename,
ios_base::openmode _Mode = ios_base::in,
int _Prot = (int)ios_base::_Openprot);
basic_ifstream(basic_ifstream&& right);
Parámetros
_Filename
Nombre del archivo que se va a abrir.
_Mode
Una de las enumeraciones de ios_base::openmode.
_Prot
Protección predeterminada de apertura del archivo, equivalente al parámetro shflag de _fsopen, _wfsopen.
Comentarios
El primer constructor inicializa la clase base al llamar a basic_istream(sb), donde sb es el objeto almacenado de clase basic_filebuf<Elem, Tr>. También inicializa sb al llamar a basic_filebuf<Elem, Tr>.
El segundo y el tercer constructor inicializan la clase base al llamar a basic_istream(sb). También inicializa sb al llamar a basic_filebuf<Elem, Tr> y luego a sb.open(_Filename, _Mode | ios_base::in). Si esta última función devuelve un puntero nulo, el constructor llama a setstate(failbit).
El cuarto constructor inicializa el objeto con el contenido de right, tratado como una referencia rvalue.
Para obtener más información, veabasic_istream, basic_filebuf, setstatey open.
Ejemplo
En el siguiente ejemplo se muestra cómo leer texto de un archivo. Para crear el archivo, vea el ejemplo de basic_ofstream::basic_ofstream.
// basic_ifstream_ctor.cpp
// compile with: /EHsc
#include <fstream>
#include <iostream>
using namespace std;
int main(int argc, char **argv)
{
ifstream ifs("basic_ifstream_ctor.txt");
if (!ifs.bad())
{
// Dump the contents of the file to cout.
cout << ifs.rdbuf();
ifs.close();
}
}
basic_ifstream::close
Cierra un archivo.
void close();
Comentarios
La función miembro llama a rdbuf :> close.
Ejemplo
Consulte basic_filebuf::close para ver un ejemplo en el que se usa close.
basic_ifstream::is_open
Determina si un archivo está abierto.
bool is_open() const;
Valor devuelto
true si el archivo está abierto; de lo contrario, false.
Comentarios
La función miembro devuelve rdbuf :> is_open.
Ejemplo
Consulte basic_filebuf::is_open para ver un ejemplo en el que se usa is_open.
basic_ifstream::open
Abre un archivo.
void open(
const char* _Filename,
ios_base::openmode _Mode = ios_base::in,
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::in,
int _Prot = (int)ios_base::_Openprot);
void open(
const wchar_t* _Filename,
ios_base::openmode _Mode);
Parámetros
_Filename
Nombre del archivo que se va a abrir.
_Mode
Una de las enumeraciones de ios_base::openmode.
_Prot
Protección predeterminada de apertura del archivo, equivalente al parámetro shflag de _fsopen, _wfsopen.
Comentarios
La función miembro llama a rdbuf->open(_Filename, _Mode | ios_base::in). Para obtener más información, vea rdbuf y basic_filebuf::open. Si se produce un error al abrir, la función llama a setstate(failbit), que puede producir una excepción ios_base::failure. Para obtener más información, vea setstate.
Ejemplo
Consulte basic_filebuf::open para ver un ejemplo en el que se usa open.
basic_ifstream::operator=
Asigna el contenido de este objeto de secuencia. Se trata de una asignación de movimiento que implica un rvalue que no deja ninguna copia atrás.
basic_ifstream& operator=(basic_ifstream&& right);
Parámetros
right
Referencia rvalue a un objeto basic_ifstream.
Valor devuelto
Devuelve *this.
Comentarios
El operador de miembro reemplaza el contenido del objeto por el contenido de right, que se trata como referencia rvalue. Para obtener más información, vea Lvalues y Rvalues.
basic_ifstream::rdbuf
Devuelve la dirección del búfer de secuencia almacenado.
basic_filebuf<Elem, Tr> *rdbuf() const
Valor devuelto
Puntero a un objeto basic_filebuf que representa el búfer de flujo almacenado.
Ejemplo
Consulte basic_filebuf::close para ver un ejemplo en el que se usa rdbuf.
basic_ifstream::swap
Intercambia el contenido de dos objetos basic_ifstream.
void swap(basic_ifstream& right);
Parámetros
right
Referencia a otro búfer de secuencia.
Comentarios
La función miembro intercambia el contenido de este objeto por el contenido de right.
Consulte también
Seguridad para subprocesos en la biblioteca estándar de C++
Programación de iostream
Convenciones de iostreams