Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
CONTENIDO
G.1.
G.2.
G.3.
G.4.
G.5.
G.6.
G.7.
G.8.
G.9.
Clase filebuf.
Clase fstream.
Clase fstreambase.
Clase ifstream.
Clase ios.
Clase iostream.
Clase iostream_withassign.
Clase istream.
Clase istream_withassign.
Archivo
G.10.
G.11.
G.12.
G.13.
G.14.
G.15.
G.16.
G.17.
G.18.
Clase istrstream.
Clase ofstream.
Clase ostream.
Clase ostream_withassign.
Clase ostrstream.
Clase streambuf.
Clase strstreambase.
Clase strstreambuf.
Clase strstream.
Archivo de cabecera:
Constructores/Destructores:
Funciones miembro
Clases incluidas
#include <fstream.h>
filebuf
~filebuf
attach
close
fd
is_open
open
overflow
seekoff
setbuf
sync
underflow
fstream.h
srstrea.h
G.1.
CLASE FILEBUF
attach
filebuf::attach
close
filebuf* close();
filebuf::close
666
filebuf::fd
Atributo
Significado
0
1
2
4
8
overflow
filebuf::overflow
filebuf::filebuf
filebuf();
filebuf(int da);
filebuf(int da, char *pr, int n);
seekoff
filebuf::is_open
int is_rtl_open();
Limpia un buffer hacia su destino. Cada clase derivada debe definir las
acciones que se tomen.
filebuf::open
filebuf::seekoff
filebuf::setbuf
filebuf::sync
ios::app
ios::ate
ios::binary
ios::in
ios::nocreate
ios::noreplace
ios::out
ios::trunc
prot especifica el atributo del archivo
underflow
filebuf::underflow
G.2.
CLASE FSTREAM
Funciones miembro:
Archivo de cabecera
Constructores/Destructores
Funciones miembro
Archivo de cabecera:
Constructores/Destructores:
667
#include <fstream.h>
fstream (construye un objeto fstream)
~fstream (destruye un objeto fstream)
open
rdbuf
attach
open
fstream::open
<fstream.h>
fstreambase();
~fstreambase();
attach
close
open
rdbuf
setbuf
fstreambase::attach
void attach(int);
fstream::fstream
fstream();
fstream(const char *, int, int = filebuf::openprot);
fstream(int);
fstream(int, char *, int);
La funcin constructor tiene cuatro formatos: (1) construye un fstream que no se conecta a un archivo, (2) construye un fstream, abre un archivo y lo conecta, (3) construye un fstream y lo conecta a un descriptor de
archivo abierto, (4) construye un fstream conectado a un archivo abierto y
fstreambase::close
void close();
open
fstreambase::open
fstreambase::rdbuf
fstream::rdbuf
filebuf* rdbuf();
filebuf*rdbuf();
G.3.
CLASE FSTREAMBASE
setbuf
Esta clase de flujo, derivada de ios, proporciona operaciones comunes a flujos de archivo. Sirve como base para fstream, ifstream y ofstream.
fstreambase::setbuf
668
fstreambase
fstreambase::fstreambase
fstreambase();
fstreambase(const char*, int, int = filebuf::openprot);
fstreambase(int);
fstreambase(int, char*, int);
G.4.
CLASE IFSTREAM
La clase ifstream es una clase derivada de fstreambase e istream, proporciona operaciones de entrada para archivos en disco. Sus constructores
crean automticamente y conectan a un objeto filebuf.
class ifstream:public istream
Archivo de cabecera:
Constructores/Destructores:
Funciones miembro:
ifstream
#include <fstream.h>
ifstream (construye un objeto ifstream)
~ifstream (destruye un objeto ifstream)
open
rdbuf
rdbuf
ifstream::rdbuf
filebuf* rdbuf();
G.5.
CLASE IOS
La clase ios es la clase base de todas las clases de flujos de entrada/salida. Proporciona operaciones de entrada y salida. Sus clases derivadas (istream,
ostream e iostream) se especializan en operaciones con formatos de E/S. La
clase ios es una clase base de istream, ostream, fstreambase y strstreambase. Aunque ios no es tcnicamente una clase base abstracta, se
podrn utilizar muchas de las funciones miembro y miembros dato heredados.
class ios
Archivo de cabecera:
#include <iostream.h>
Constructores/Destructores: ios() (constructor para usar en clases derivadas)
~ios (destructor virtual)
Funciones miembro:
bad
bitalloc
clear
fail
flags
init
rdbuf
setf
sync_with_stdi
unsetf
xalloc
ifstream::ifstream
ifstream();
ifstream(const char*, int = ios::in, int = filebuf::openprot);
ifstream(int fd, char*, int);
bad
eof
fill
good
precision
rdstate
setstate
Atie
width
ios::bad
int bad();
ifstream::open
bitalloc
ios::bitalloc
669
El primer formato devuelve los indicadores de formato reales. El segundo formato fija los indicadores de formato asociados con un flujo como el
especificado por f.
ios::clear
good
ios::good
eof
ios::init
ios::eof
ios::fail
ios::precision
int fail();
fill
rdbuf
ios::fill
char fill();
char fill(char car);
streambuf* rdbuf();
Cuando un campo necesita rellenarse, se rellena, por defecto, con blancos. Sin embargo, se puede especificar el carcter de rellenado utilizando la
funcin fill()y especificando el nuevo carcter de rellenado en car. El
primer formato devuelve el carcter de relleno actual.
flags
long flags();
long flags(long f);
ios::rdbuf
ios::flags
ios::rdstste
int rdstate();
Devuelve el estado real del flujo asociado, especificado por las siguientes mscaras o indicadores:
670
Nombre
ios::goodbit
ios::eoffbit
ios::failbit
ios::badbit
Significado
0, no se produce ningn error.
1, se produce un error.
1, cuando se encuentra el final del archivo.
0, caso contrario.
1, se ha producido un error no fatal de E/S.
0, caso contrario.
1, se ha producido un error fatal de E/S.
O, caso contrario.
setf
ios::setf
ios::unsetf
Establece los indicadores correspondientes a los sealados en el parmetro flags; devuelve los parmetros anteriores. El segundo formato afecta slo a los indicadores (flags) que se establecen en flags2. Los indicadores correspondientes se ponen primero a cero y a continuacin se ponen
a 1, de acuerdo a los indicadores especificados por indicadores1. Ambos
formatos de setf() devuelven la configuracin anterior de los indicadores
de formato asociados con el flujo.
ios::width
int width();
int width(int a);
setstate
ios::setstate
ios::xalloc
protected:void saetstate(int);
G.6.
sync_with_stdio
ios:: sync_with_stdio
CLASE IOSTREAM
tie
ostream* tie();
ostream* tie(ostream*);
ios::tie
Archivo de cabecera:
Constructores/Destructores:
#include <iostream.h>
iostream (construye un objeto iostream
que se conecta a un streambuf existente)
~iostream (destruye un objeto iostream)
iostream::iostream
671
iostream(streambuf*);
virtual ~iostream();
get
G.7.
iostream_withassign
iostream_withassign();
~iostream_withassign();
G.8.
int get();
istream& get(signed char*, int num, char separ = \n);
istream& get(unsigned char*, int num, char separ = \n);
CLASE IOSTREAM_WITHASSIGN
Archivo de cabecera:
Constructores/Destructores:
istream::get
CLASE ISTREAM
getline
Archivo de cabecera:
Constructor/Destructor:
Funciones miembro:
#include <iostream.h>
istream (construye un objeto istream conectado a un
objeto existente de una clase derivada de streambuf).
istream (destruye un objeto istream)
gcount
get
getline
ignore
peek
putback
read
seekg
tellg
istream::getline
Acta igual que get, con la diferencia de que tambin se extrae el separador, que no se copia en buffer.
ignore
istream::ignore
int gcount();
istream::gcount
Lee y descarta caracteres del flujo de entrada, hasta que o bien se han
ignorado num caracteres (1, por defecto) o hasta que el carcter especificado por separ (EOF, por defecto) se encuentra.
672
istream
istream:istream
istream::~istream
1. istream(streambuf *);
2. virtual ~istream();
(1) construye un objeto de una clase derivada de streambuf. (2) destructor virtual de la clase istream.
tellg
peek
istream::peek
istream::tellg
streampos tellg();
int peek();
Devuelve el siguiente carcter del flujo, sin extraerlo del flujo. Devuelve EOF, si se encuentra el final del archivo.
G.9.
putback
istream::putback
istream::read
Lee num bytes del flujo de entrada asociado y los pone en el buffer
apuntado por buf. Si se alcanza el final del archivo antes de que se hayan
ledo num caracteres, read() se detiene y el buffer contiene tantos caracteres como estuvieran disponibles. Si se produce un error, utilice gcount().
La funcin read es til para entradas de flujo binarias.
sekg
CLASE ISTREAM_WITHASSIGN
istream::seekg
1. istream& seekg(streampos);
2. istream& seekg(streampos, seek_dir);
Archivo de cabecera:
#include <iostream.h>
Constructor/Destructor: istream_withassign(); (crea un objeto)
~istream_withassign(); (destruye un objeto)
Funciones miembro:
Ninguna (aunque el operador = est sobrecargado)
G.10.
CLASE ISTRSTREAM
Archivo de cabecera:
Constructor/Destructor:
G.11.
#include <strstream.h>
istrstream(const char *);
~istrstream(const char *, int n);
CLASE OFSTREAM
(1) mueve el puntero del archivo a una posicin absoluta (devuelta por
tellg). (2) mueve el puntero del archivo a una posicin relativa a la posi-
Archivo de cabecera:
Constructor/Destructor:
Funciones miembro:
#include <fstream.h>
ofstream (construye un objeto ofstream)
~ofstream (destruye un objeto ofstream)
open
rdbuf
open
ofstream::open
ostream::put
ostream& put(char)
ostream::seekp
1. ostream& seekp(streampos);
2. ostream& seekp(streamoff, seek_dir);
ofstream::rdbuf
filebuf* rdbuf();
G.12.
put
673
(1) se mueve a una posicin absoluta. (2) se mueve a una posicin relativa a la posicin actual, a continuacin de la definicin. La direccin de
bsqueda se especifica por el tipo enumerado enum seek_dir(beg, cur,
end);
Valor
CLASE OSTREAM
ios::beg
ios::cur
ios::end
Significado
Bsqueda desde el principio del flujo.
Bsqueda desde la posicin actual en el flujo.
Bsqueda desde el final del flujo.
Archivo de cabecera:
Constructor/Destructor:
#include <iostream.h>
ostream (construye un objeto que se conecta
a un objeto streambuf existente)
~ostream (destruye un objeto ostream)
Funciones miembro:
flush
tellp
put
write
seekp
tellp
ostream::tellp
streampos tellp();
flush
ostream::flush
ostream::write
ostream::ostream
1. ostream(streambuf *);
2. virtual ~ostream();
G.13.
CLASE OSTREAM_WITHASSIGN
674
pcount
ostrstream::pcount
int pcount();
class ostream_withassign:public ostream
Archivo de cabecera:
#include <iostream.h>
Constructor/Destructor: ostream_withassign (construye un objeto)
~ostream_withassign (destruye un objeto)
Funciones miembro:
Ninguno (aunque el operador = est sobrecargado)
ostream_withassign
ostream_withassign::ostream_withassign
ostream_withassign();
~ostream::withassign();
char *str();
Devuelve y congela el buffer. En realidad, congela un array de entrada asignado dinmicamente y devuelve un puntero al mismo. Una vez que
un array dinmico se congela, no se puede utilizar de nuevo para salida.
G.14.
ostrstream::str
G.15.
CLASE OSTRSTREAM
CLASE STREAMBUF
Esta clase soporta flujos de salida que tienen arrays de caracteres como destino.
Es una clase de manejo de buffers. Esta clase es abstracta, pero contiene las
siguientes clases derivadas: filebuf, strstreambuf y conbuf. La clase
streambuf proporciona un interfaz a dispositivos fsicos.
class streambuf
Archivo de cabecera:
#include <strstrea.h>
Constructor/Destructor: ostrstream (construye un objeto ostrstream)
ostrstream (destruye un objeto ostrstream)
Funciones miembro:
pcount
str
ostrstream
ostrstream::ostrstream
1. ostrstream();
2. ostrstream(char *p, int long, int modo = ios::out);
(1) construye un objeto dinmico ostrstream. (2) construye un objeto ostrstream con un buffer especificado de n-bytes, modo puede ser uno
de los siguientes enumeradores:
ios::out
ios::ate
ios::app
Por defecto.
El parmetro p se supone un array terminado en nulo.
Igual que ate.
blen
ebuf
epptr
gptr
out_waiting
pbump
sbumpc
seekpos
setbuf
setp
sgetn
sputback
sputn
unbuffered
eback
egptr
gbump
in_avail
pbase
pptr
seekoff
setb
setg
sgetc
snextc
sputc
stossc
streambuf::allocate
protected:int allocate();
epptr
streambuf::epptr
Devuelve un puntero al byte despus del ltimo byte del rea put.
gbump
base
675
streambuf::gbump
streambuf::base
gptr
streambuf::gptr
protected:char*gptr();
blen
streambuf::blend
protected:int blen();
in_avail
streambuf::in_avail
int in_avail();
eback
treambuf::eback
protected:char *eback();
out_waiting
streambuf::out_waiting
streambuf::ebuf
pbase
protected:char* ebuf();
Devuelve un puntero al byte despus del ltimo byte del rea de reserva.
streambuf__pbase
protected:char *pbase();
streambuf::egptr
protected::char* egptr();
Devuelve un puntero al byte despus del ltimo byte del rea get.
pbump
protected:void pbump(int);
streambuf::pbump
676
pptr
streambuf::pptr
streambuf::sbumpc
setp
streambuf::seekoff
sgetc
streambuf::sgetc
int sgetc();
sgetn
seekpos
streambuf::setp
int sbumpc();
seekoff
streambuf::setg
protected:char *pptr();
sbumpc
setg
streambuf::sgetn
streambuf::seekpos
setb
streambuf::setb
setbuf
snextc
streambuf::snextc
int snextc();
streambuf::setbuf
sputback
streambuf::sputback
int sputback(char);
Conecta el rea de reserva especificada al objeto streambuf. Las clases derivadas pueden o no utilizar esta rea.
streambuf::sputc
class strstreambase
Archivo de cabecera:
Constructor/Destructor:
int sputc(int);
Funciones miembro:
streambuf::sputn
#include <strstrea.h>
strstreambase (construye un objeto)
~strstreambase (destruye un objeto)
rdbuf
rdbuf
strstreambase::rdbuf
strstreambuf *rdbuf();
Copia n caracteres en el buffer de salida. Devuelve el nmero de caracteres almacenados (n, aunque pueden ser menos si ocurre un error).
stossc
strambuf::stossc
void stossc();
strstreambase::strstreambase
1. protected:strstreambase();
2. protected:strstreambase(char *, int, char *inicio);
(1) crea un objeto vaco. (2) crea un objeto y le asocia un buffer especificado y una posicin inicial.
streambuf::streambuf
G.17.
1. protected:streambuf();
2. protected:streambuf(char *, int);
3. protected:virtual ~streambuf();
CLASE STRSTREAMBUF
(1) crea un objeto de buffer vaco. (2) utiliza un array y tamao dados
como buffer, (3) el destructor limpia el buffer si el flujo se utiliza para salida.
unbuffered
streambuf::unbuffered
1. protected:void unbuffered(int);
2. protected: int unbuffered();
Archivo de cabecera:
Constructor/Destructor:
Funciones miembro:
(1) establece el estado a travs de buffer. (2) devuelve un valor distinto de cero si no se realiza a travs de buffer.
#include <strstrea.h>
stratreambuf (construye un objeto)
~strstreambuf (destruye un objeto)
doallocate
freeze
overflow
seekoff
setbuf
str
underflow
doallocate
G.16.
677
CLASE STRSTREAMBASE
strstreambuf::doallocate
678
freeze
strstreambuf::freeze
(1) construye un strstreambuf dinmico, la memoria se asignar dinmicamente a medida que se necesita. (2) construye un buffer dinmico. (3)
construye un strstreambuf asignando inicialmente un buffer de al menos
n bytes. (4) y (5) construye un strstreambuf esttico con un buffer especificado.
underflow
strstreambase::underflow
strstreambuf::overflow
Limpia un buffer.
seekoff
strstreambuf::seekoff
CLASE STRSTREAM
G.18.
strstreambuf::setbuf
Archivo de cabecera:
Constructor/Destructor:
Funciones miembro:
#include <strstrea.h>
strstream (construye un objeto)
~strstream (destruye un objeto)
str
strstreambuf::str
char *str();
1.
2.
3.
4.
5.
strstreambuf::strstreambuf
strstreambuf();
strstreambuf(void *(*) (long), void (*) (void *));
strstreambuf(int n);
strstreambuf(signed char *, int, signed char *end 0);
strstreambuf(unsigned char *, int, unsigned char *end0);
strstream::str
char *str();
strstream
strstream::strstream
1. strstream();
2. strstream(char *, int n, int modo);