Oharra
Orrialde honetara sartzeak baimena behar du. Saioa hasteko edo direktorioak aldatzen saia zaitezke.
Orrialde honetara sartzeak baimena behar du. Direktorioak aldatzen saia zaitezke.
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