BIBLIOTECA DE CLASES ANSI/ISO C++

Tamaño: px
Comenzar la demostración a partir de la página:

Download "BIBLIOTECA DE CLASES ANSI/ISO C++"

Transcripción

1 APÉNDICE G BIBLIOTECA DE CLASES ANSI/ISO C++ 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. G.10. Clase istrstream. G.11. Clase ofstream. G.12. Clase ostream. G.13. Clase ostream_withassign. G.14. Clase ostrstream. G.15. Clase streambuf. G.16. Clase strstreambase. G.17. Clase strstreambuf. G.18. Clase strstream. La biblioteca de clases de C++ consta de diferentes clases. Esta referencia presenta en orden alfabético las funciones miembro más frecuentemente utilizadas de la jerarquía de clases. Como ya conoce el lector, a las clases se accede a través de la inclusión de archivos. La Tabla G.1 lista los archivos de cabecera relativos a clases, con indicación de las clases asociadas a cada uno de ellos. Deberá incluir el correspondiente archivo de cabecera cuando desee manejar una clase incluida en el mismo. TABLA G.1. Archivo Archivos de cabecera estándar Clases incluidas constrea.h Conbuf, constream. iostream.h ios, iostream, iostream_withssing, istream, istream_witassing, ostream, ostream_withassing, streambuf. fstream.h filebuf, fstream, fstreambase, ifstream, ofstream. srstrea.h istrstream, ostrstream, strstream, strstreambase, strstreambuf Constructores/Destructores: Funciones miembro attach filebuf* attach(int da); #include <fstream.h> filebuf ~filebuf attach close fd is_ overflow seekoff sync underflow filebuf::attach G.1. CLASE FILEBUF Conecta el objeto filebuf a una descripción de archivo abierto. Clase especializada para E/S por archivos de disco a través de buffer. class filebuf:public streambuf close filebuf* close(); filebuf::close

2 666 PROGRAMACIÓN EN C++. ALGORITMOS, ESTRUCTURAS Y OBJETOS Limpia y cierra el archivo. Si ocurre un error, la función devuelve NULL; si no hay error, la función devuelve la dirección del objeto filebuf. fd filedesc fd() const; filebuf::fd Atributo Significado 0 Archivo normal, acceso abierto. 1 Archivo de sólo lectura. 2 Archivo oculto. 4 Archivo del sistema. 8 Establecer bit de archivar. Devuelve el descriptor del archivo asociado con el objeto filebuf; filedesc es un tipo definido por el usuario (typedef) equivalente a int. Si el objeto no está conectado a un archivo la función devuelve EOF. overflow virtual int overflow(int c = EOF); filebuf::overflow filebuf filebuf(); filebuf(int da); filebuf(int da, char *pr, int n); filebuf::filebuf Construye un objeto filebuf: (1) el objeto no se conecta a un archivo, (2) el objeto se conecta a un archivo abierto, (3) el objeto se conecta a un archivo abierto y lo inicializa para utilizar una zona de reserva especificada. Limpia un buffer hacia su destino. Cada clase derivada debe definir las acciones que se tomen. seekoff filebuf::seekoff virtual streampos seekoff(streamoff, ios::seek_dir, int) Mueve el puntero (apuntador) relativo del archivo a la posición actual. is_ int is_rtl_(); filebuf::is_ Devuelve un valor distinto de cero si el archivo está abierto; en caso contrario, 0. virtual streambuf* (char *, int); Especifica un buffer para este filebuf. filebuf:: filebuf:: sync filebuf::sync filebuf* (const char* nomarch, int modo, int prot = filebuf::prot); Abre el archivo especificado y se conecta a él. Modo determina cómo se abre el archivo y debe ser uno (o más) de estos valores: ios::app ios::ate ios::binary ios::in ios::nocreate ios::noreplace ios::out ios::trunc prot especifica el atributo del archivo virtual int sync(); Establece consistencia entre estructuras de datos internas y la representación externa de flujo. underflow virtual int underflow(); filebuf::underflow Hace disponible la entrada. Ésta se llama cuando no existe ningún dato más en el buffer de entrada. Cada clase derivada debe definir las acciones a tomar.

3 BIBLIOTECA DE CLASES ANSI/ISO C G.2. CLASE FSTREAM La clase fstream es una clase derivada de iostream, especializada para entrada y salida combinada de archivos en disco. class fstream:public iostream Constructores/Destructores: Funciones miembro: #include <fstream.h> fstream (construye un objeto fstream) ~fstream (destruye un objeto fstream) class fstreambase::public ios Archivo de cabecera Constructores/Destructores Funciones miembro attach <fstream.h> fstreambase(); ~fstreambase(); attach close fstreambase::attach fstream:: void attach(int); void (const char *, int, int = filebuf::prot); Conecta este flujo al descriptor de archivos abierto. Abre un archivo para un objeto fstream. close fstreambase::close fstream fstream::fstream void close(); fstream(); fstream(const char *, int, int = filebuf::prot); fstream(int); fstream(int, char *, int); La función 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 utiliza un archivo especificado. Cierra el objeto filebuf asociado y el archivo. fstreambase:: void (const char *, int, int = filebuf::prot); Abre un archivo para un streambase. filebuf*(); G.3. fstream:: Devuelve un puntero al objeto filebuf, que se asocia con este flujo. CLASE FSTREAMBASE Esta clase de flujo, derivada de ios, proporciona operaciones comunes a flujos de archivo. Sirve como base para fstream, ifstream y ofstream. filebuf* (); Devuelve el filebuf utilizado. void (char*, int); Utiliza un buffer especificado. fstreambase:: fstreambase::

4 668 PROGRAMACIÓN EN C++. ALGORITMOS, ESTRUCTURAS Y OBJETOS fstreambase fstreambase::fstreambase ifstream:: fstreambase(); fstreambase(const char*, int, int = filebuf::prot); fstreambase(int); fstreambase(int, char*, int); (1) construye un objeto fstreambase que no se conecta a un archivo, (2) construye un objeto streambase, abre un archivo y lo conecta, (3) construye un objeto fstreambase y lo conecta a un descriptor de archivo abierto, (4) construye un fstreambase conectado a un archivo abierto y utiliza un buffer especificado. 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 automáticamente y conectan a un objeto filebuf. class ifstream:public istream #include <fstream.h> Constructores/Destructores: ifstream (construye un objeto ifstream) ~ifstream (destruye un objeto ifstream) Funciones miembro: ifstream ifstream::ifstream ifstream(); ifstream(const char*, int = ios::in, int = filebuf::prot); ifstream(int fd, char*, int); Construye un objeto ifstream: (1) construye un ifstream que no se conecta a un archivo, (2) construye un ifstream, abre un archivo de entrada en modo protegido y lo conecta a él, (3) construye un ifstream y lo conecta a un descriptor de archivo abierto, (4) construye un ifstream conectado a un archivo abierto y utiliza un buffer especificado. filebuf* (); Devuelve un puntero al objeto de buffer que está asociado con este flujo. 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 técnicamente una clase base abstracta, se podrán utilizar muchas de las funciones miembro y miembros dato heredados. class ios #include <iostream.h> Constructores/Destructores: ios() (constructor para usar en clases derivadas) ~ios (destructor virtual) Funciones miembro: bad bitalloc clear eof fail fill flags good init precision rdstate setf setstate sync_with_stdi Atie unsetf width xalloc bad int bad(); ios::bad Devuelve true (verdadero) si ha ocurrido un error fatal de E/S en el flujo asociado; en caso contrario, se devuelve 0. ifstream:: void (const char*, int, int = filebuf::prot); Abre un archivo de disco y lo conecta al objeto filebuf del flujo. bitalloc static long bitalloc(); ios::bitalloc

5 BIBLIOTECA DE CLASES ANSI/ISO C Proporciona una máscara para un bit no utilizado anteriormente en el miembro dato. El valor de retorno se puede utilizar para establecer, borrar y comprobar el indicador. clear void clear(int flags = 0); ios::clear Borra los indicadores de estado asociados con un flujo. Si flags es 0 (valor por defecto), se borran todos los indicadores de error (se ponen a 0). En caso contrario, los indicadores de estado se ponen a cualquier valor especificado en flags. 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. good int good(); ios::good Devuelve un valor distinto de cero (verdadero) si ningún error de E/S se ha producido en el flujo asociado; en caso contrario, se devuelve 0. eof int eof(); ios::eof Devuelve true (verdadero) cuando se encuentra el fin del archivo de entrada asociado; en caso contrario, se devuelve 0. init void init(streambuf *); Proporciona la inicialización real. precision ios::init ios::precision fail int fail(); ios::fail Devuelve true (verdadero, distinto de cero) si se ha producido un error en la operación; en caso contrario, se devuelve 0. int precision (); int precision(int p); El primer formato devuelve la precisión real de coma flotante (sin dígitos se visualizan después del punto decimal). Con el segundo formato se puede establecer la precisión (el número de dígitos) al valor especificado en p. fill ios::fill ios:: char fill(); char fill(char car); Cuando un campo necesita rellenarse, se rellena, por defecto, con blancos. Sin embargo, se puede especificar el carácter de rellenado utilizando la función fill()y especificando el nuevo carácter de rellenado en car. El primer formato devuelve el carácter de relleno actual. streambuf* (); Devuelve un puntero al objeto streambuf, que está asociado con este flujo. La función es útil cuando se necesita llamar a funciones miembro streambuf. rdstate ios::rdstste flags long flags(); long flags(long f); ios::flags int rdstate(); Devuelve el estado real del flujo asociado, especificado por las siguientes máscaras o indicadores:

6 670 PROGRAMACIÓN EN C++. ALGORITMOS, ESTRUCTURAS Y OBJETOS Nombre ios::goodbit ios::eoffbit ios::failbit ios::badbit setf Significado 0, no se produce ningún 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. ios::setf La primera función enlaza (une) este flujo al ostream especificado y devuelve el valor del anterior puntero enlazado (NULL, si este flujo no estaba previamente enlazado). La segunda función devuelve el valor del anterior puntero enlazado (NULL si este flujo no estaba previamente enlazado). unsetf long unsetf(long flags); ios::unsetf Borra los bits correspondientes a los marcados en el parámetro flags; devuelve la configuración anterior. long setf(long flags); long setf(long flags1, long flags2); Establece los indicadores correspondientes a los señalados en el parámetro flags; devuelve los parámetros anteriores. El segundo formato afecta sólo a los indicadores (flags) que se establecen en flags2. Los indicadores correspondientes se ponen primero a cero y a continuación se ponen a 1, de acuerdo a los indicadores especificados por indicadores1. Ambos formatos de setf() devuelven la configuración anterior de los indicadores de formato asociados con el flujo. width int width(); int width(int a); ios::width La primera función obtiene la anchura del campo actual. La segunda función establece la anchura del campo y se devuelve la anchura del campo anterior. xalloc ios::xalloc setstate protected:void saetstate(int); Pone a uno todos los bits de estado. sync_with_stdio static void sync_with_stdio(); Mezcla archivos stdio e iostream.. ios::setstate ios:: sync_with_stdio static int xalloc(); Devuelve un índice de array de palabras anteriormente no utilizadas, que se pueden utilizar como indicadores de formato definidos por el usuario. G.6. CLASE IOSTREAM Esta clase, derivada de istream y ostream, es simplemente una mezcla de sus clases base, permitiendo entrada y salida sobre un flujo. Se pueden utilizar objetos iostream para E/S secuencial en disco si se construye primero un objeto filebuf apropiado. class iostream:public istream, public ostream tie ostream* tie(); ostream* tie(ostream*); ios::tie Constructores/Destructores: #include <iostream.h> iostream (construye un objeto iostream que se conecta a un streambuf existente) ~iostream (destruye un objeto iostream)

7 BIBLIOTECA DE CLASES ANSI/ISO C iostream iostream(streambuf*); virtual ~iostream(); iostream::iostream La primera función construye un objeto de tipo iostream. La segunda función es un destructor virtual para la clase iostream. G.7. CLASE IOSTREAM_WITHASSIGN Esta clase es una subclase de iostream con un operador de asignación añadido. Constructores/Destructores: iostream_withassign iostream_withassign(); ~iostream_withassign(); G.8. Construyen y destruyen un objeto. CLASE ISTREAM #include <iostream.h> iostream_withassign ~iostream_withassign Devuelve el número de caracteres extraído por la última función de entrada sin formato. get int get(); istream::get istream& get(signed char*, int num, char separ = \n ); istream& get(unsigned char*, int num, char separ = \n ); istream& get(signed char&); istream& get(unsigned char&); istream& get(strambuf&, char = \n ); get() lee caracteres de un flujo de entrada. En particular, get sin parámetros lee un único carácter del flujo asociado y devuelve ese valor. El formato de get, que toma tres parámetros, lee caracteres del flujo hasta que o bien num caracteres se han leído, o el carácter especificado por separ se ha encontrado, o se alcanza el final del archivo. Los caracteres se almacenan en el array seguido por un carácter nulo. El formato con un solo parámetro extrae un único carácter de flujo y lo almacena en el especificado por el argumento de referencia. Por último, el formato con dos parámetros lee caracteres del flujo de entrada en el objetivo streambuf (o derivado). Los caracteres se leen hasta que se encuentra el separador especificado. Devuelve una referencia al flujo. La clase istream proporciona la aptitud básica para entrada secuencial y acceso aleatorio. getline istream::getline class istream:virtual public ios Constructor/Destructor: #include <iostream.h> istream (construye un objeto istream conectado a un objeto existente de una clase derivada de streambuf). istream (destruye un objeto istream) Funciones miembro: gcount get getline ignore peek putback read seekg tellg istream& getline(signed char *bufer, int, char = \n ); istream& getline(unsigned char *bufer, int, char = \n ); Actúa igual que get, con la diferencia de que también se extrae el separador, que no se copia en buffer. ignore istream& ignore(int num = 1, int separ = EOF); istream::ignore gcount 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 carácter especificado por separ (EOF, por defecto) se encuentra.

8 672 PROGRAMACIÓN EN C++. ALGORITMOS, ESTRUCTURAS Y OBJETOS istream 1. istream(streambuf *); 2. virtual ~istream(); istream:istream istream::~istream (1) construye un objeto de una clase derivada de streambuf. (2) destructor virtual de la clase istream. (1) mueve el puntero del archivo a una posición absoluta (devuelta por tellg). (2) mueve el puntero del archivo a una posición relativa a la posición del cursor. El origen es de tipo ios::seek_dir y es una enumeración que toma estos valores: enum seek_dir {beg, cur, end}; ios:: beg Búsqueda desde el principio. ios::cur Búsqueda desde la posición actual. ios::end Búsqueda desde el final. tellg istream::tellg peek int peek(); istream::peek streampos tellg(); Devuelve la posición actual del flujo. Devuelve el siguiente carácter del flujo, sin extraerlo del flujo. Devuelve EOF, si se encuentra el final del archivo. G.9. CLASE ISTREAM_WITHASSIGN putback istream& putback (char car); istream::putback Devuelve el carácter car al flujo de entrada asociado; car debe ser el último carácter leído de ese flujo. read 1. istream & read(signed char* buf, int num); 2. istream & read(unsigned char* buf, int num); 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 leído num caracteres, read() se detiene y el buffer contiene tantos caracteres como estuvieran disponibles. Si se produce un error, utilice gcount(). La función read es útil para entradas de flujo binarias. Esta clase es una subclase de istream_withassign con la adición de un operador de asignación. El objeto predefinido cin es un objeto de esta clase y se puede reasignar en tiempo de ejecución a un objeto diferente istream. class istream_withassign:public istream #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 Soporta flujos de entrada que tienen arrays de caracteres como fuente. class istrstream:public istream #include <strstream.h> Constructor/Destructor: istrstream(const char *); ~istrstream(const char *, int n); sekg 1. istream& seekg(streampos); 2. istream& seekg(streampos, seek_dir); istream::seekg G.11. CLASE OFSTREAM Esta clase es una clase derivada de ostream, que proporciona operaciones de entrada en un filebuf. class ofstream:public ostream

9 BIBLIOTECA DE CLASES ANSI/ISO C #include <fstream.h> Constructor/Destructor: ofstream (construye un objeto ofstream) ~ofstream (destruye un objeto ofstream) Funciones miembro: ofstream:: void (const char *, int = ios::out, int = filebuf::prot); Abre un archivo para un ofstream. filebuf* (); Devuelve el filebuf utilizado. ofstream:: put ostream& put(char) ostream::put La función put inserta un carácter en el flujo de salida. Devuelve una referencia al flujo. seekp 1. ostream& seekp(streampos); 2. ostream& seekp(streamoff, seek_dir); ostream::seekp (1) se mueve a una posición absoluta. (2) se mueve a una posición relativa a la posición actual, a continuación de la definición. La dirección de búsqueda se especifica por el tipo enumerado enum seek_dir(beg, cur, end); G.12. CLASE OSTREAM Proporciona características para salida secuencial y acceso aleatorio. Valor ios::beg ios::cur ios::end Significado Búsqueda desde el principio del flujo. Búsqueda desde la posición actual en el flujo. Búsqueda desde el final del flujo. class ostream:virtual public ios 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 put seekp tellp write tellp streampos tellp(); Obtiene el valor de la posición actual del flujo. ostream::tellp flush ostream & flush(); Limpia el buffer asociado con el flujo. ostream::flush write ostream& write(const signed char* buf, int n); ostream& write(const unsigned char*buf, int n); ostream::write Inserta un número especificado (n) de bytes, desde un buffer en el flujo de salida asociado (buf). ostream 1. ostream(streambuf *); 2. virtual ~ostream(); ostream::ostream (1) construye un objeto de tipo ostream. (2) destruye un objeto ostream. G.13. CLASE OSTREAM_WITHASSIGN Esta clase es una subclase de ostream que permite asignación de objetos. Los objetos predefinidos cout, cerr y clog son objetos de esta clase, y

10 674 PROGRAMACIÓN EN C++. ALGORITMOS, ESTRUCTURAS Y OBJETOS por consiguiente, se pueden reasignar en tiempo de ejecución a un objeto ostream diferente. class ostream_withassign:public ostream #include <iostream.h> Constructor/Destructor: ostream_withassign (construye un objeto) ~ostream_withassign (destruye un objeto) Funciones miembro: Ninguno (aunque el operador = está sobrecargado) pcount int pcount(); ostrstream::pcount Devuelve el número de bytes actualmente almacenados en el buffer. Esta información es útil, especialmente cuando se almacenan datos binarios en el objeto. str ostrstream::str ostream_withassign ostream_withassign::ostream_withassign char *str(); ostream_withassign(); ~ostream::withassign(); Constructor y destructor por defecto. Devuelve y congela el buffer. En realidad, «congela» un array de entrada asignado dinámicamente y devuelve un puntero al mismo. Una vez que un array dinámico se congela, no se puede utilizar de nuevo para salida. G.14. CLASE OSTRSTREAM Esta clase soporta flujos de salida que tienen arrays de caracteres como destino. class ostrstream:public ostream #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 dinámico 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 parámetro p se supone un array terminado en nulo. Igual que ate. G.15. CLASE STREAMBUF 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 físicos. class streambuf #include <iostream.h> Constructor/Destructor: streambuf (constructores para uso en clases derivadas) ~streambuf (destructor virtual) Funciones miembro: allocate base blen eback ebuf egptr epptr gbump gptr in_avail out_waiting pbase pbump pptr sbumpc seekoff seekpos setb setg setp sgetc sgetn snextc sputback sputc sputn stossc unbuffered

11 BIBLIOTECA DE CLASES ANSI/ISO C allocate streambuf::allocate epptr streambuf::epptr protected:int allocate(); Establece un área de buffer. protected: char *epptr(); Devuelve un puntero al byte después del último byte del área put. base protected:char *base(); streambuf::base Devuelve un puntero al primer byte del área de reserva (espacio entre los punteros devuelto por base y ebuf). gbump streambuf::gbump protected: void gbump(int); Avanza el puntero get (incremento en número de bytes). gptr streambuf::gptr blen streambuf::blend protected:char*gptr(); Devuelve la siguiente posición en el área de get. protected:int blen(); Devuelve el tamaño en bytes del área de reserva. in_avail int in_avail(); streambuf::in_avail eback protected:char *eback(); Devuelve el límite inferior del área get. ebuf treambuf::eback streambuf::ebuf Devuelve el número de caracteres que permanecen en el buffer de entrada. out_waiting streambuf::out_waiting int out_waiting(); Devuelve el número de caracteres que permanecen en el buffer de salida. protected:char* ebuf(); Devuelve un puntero al byte después del último byte del área de reserva. pbase protected:char *pbase(); Devuelve un puntero al comienzo del área put. streambuf pbase egptr streambuf::egptr pbump streambuf::pbump protected::char* egptr(); Devuelve un puntero al byte después del último byte del área get. protected:void pbump(int); Avanza el puntero put.

12 676 PROGRAMACIÓN EN C++. ALGORITMOS, ESTRUCTURAS Y OBJETOS pptr streambuf::pptr setg streambuf::setg protected:char *pptr(); protected:void setg (char *, char *, char); Devuelve un puntero al primer byte del área put. Establece los valores para los punteros del área get. sbumpc streambuf::sbumpc setp streambuf::setp int sbumpc(); protected:void setp (char *, char *); Devuelve el carácter actual y a continuación avanza el puntero get. Inicializa los punteros get. seekoff streambuf::seekoff sgetc streambuf::sgetc virtual streampos seekoff(streamoff, ios::seek_dir, int modo = (ios::in ios::out)); Mueve el puntero get o put. modo determina el tipo de operación (entrada/salida). int sgetc(); Devuelve el carácter en el puntero get. La función sgetc no mueve el puntero get. Devuelve EOF si no hay carácter disponible. seekpos streambuf::seekpos virtual streampos seekpos (streampos, int = (ios::in ios::out)); Mueve el puntero get o put a una posición absoluta. sgetn streambuf::sgetn int sgetn(char *, int n); Obtiene los siguientes n caracteres del buffer de entrada. setb streambuf::setb snextc streambuf::snextc protected:void setb(char *, char *, int suprimir = 0); Establece el área de buffer. suprimir controla la supresión automática. int snextc(); Primero comprueba el puntero get, después devuelve EOF si ya está al final del área get. virtual streambuf * (signed char *, int); streambuf* (unsigned char *, int); streambuf:: sputback int sputback(char); streambuf::sputback Conecta el área de reserva especificada al objeto streambuf. Las clases derivadas pueden o no utilizar esta área. Devuelve un carácter a la entrada. Retrocede el puntero get una posición.

13 sputc int sputc(int); Almacena un carácter en el buffer de salida. streambuf::sputc class strstreambase Constructor/Destructor: Funciones miembro: BIBLIOTECA DE CLASES ANSI/ISO C #include <strstrea.h> strstreambase (construye un objeto) ~strstreambase (destruye un objeto) sputn int sputn(const char *, int n); streambuf::sputn Copia n caracteres en el buffer de salida. Devuelve el número de caracteres almacenados (n, aunque pueden ser menos si ocurre un error). stossc void stossc(); Avanza al siguiente carácter en el buffer de entrada. strambuf::stossc strstreambuf *(); strstreambase:: Devuelve un puntero al strstreambuf asociado con ese objeto. strstreambase strstreambase::strstreambase 1. protected:strstreambase(); 2. protected:strstreambase(char *, int, char *inicio); (1) crea un objeto vacío. (2) crea un objeto y le asocia un buffer especificado y una posición inicial. streambuf 1. protected:streambuf(); 2. protected:streambuf(char *, int); 3. protected:virtual ~streambuf(); streambuf::streambuf (1) crea un objeto de buffer vacío. (2) utiliza un array y tamaño dados como buffer, (3) el destructor limpia el buffer si el flujo se utiliza para salida. unbuffered 1. protected:void unbuffered(int); 2. protected: int unbuffered(); streambuf::unbuffered (1) establece el estado a través de buffer. (2) devuelve un valor distinto de cero si no se realiza a través de buffer. G.16. CLASE STRSTREAMBASE Esta clase es totalmente protegida. Es clase base de strstream, istrstream y ostrstream. G.17. CLASE STRSTREAMBUF La clase strstreambuf es una clase derivada de streambuf que gestiona un array de caracteres en memoria. class strstreambuf:public streambuf #include <strstrea.h> Constructor/Destructor: stratreambuf (construye un objeto) ~strstreambuf (destruye un objeto) Funciones miembro: doallocate freeze overflow seekoff str underflow doallocate virtual int doallocate(); Realiza asignación de bajo nivel a un buffer. strstreambuf::doallocate

14 678 PROGRAMACIÓN EN C++. ALGORITMOS, ESTRUCTURAS Y OBJETOS freeze void freeze(int n = 1); strstreambuf::freeze La función freeze proporciona un medio de prevenir la supresión automáticamente. Para un parámetro distinto de cero, por defecto, se impide la entrada de nuevos caracteres en el buffer; un parámetro nulo proporciona una congelación de la situación. (1) construye un strstreambuf dinámico, la memoria se asignará dinámicamente a medida que se necesita. (2) construye un buffer dinámico. (3) construye un strstreambuf asignando inicialmente un buffer de al menos n bytes. (4) y (5) construye un strstreambuf estático con un buffer especificado. underflow strstreambase::underflow overflow virtual int overflow(int = EOF); Limpia un buffer. strstreambuf::overflow virtual int underflow(); Hace una entrada disponible. Se llama cuando se solicita un carácter y el streambuf está vacío. seekoff strstreambuf::seekoff virtual streampos seekoff(streamoff, ios::seek_dir, int); Mueve el puntero relativo a la posición actual. strstreambuf:: virtual streambuf* (char *, int); G.18. CLASE STRSTREAM Esta clase proporciona entrada y salida simultánea en un stratreambuf. Class strstream:public iostream, public strstreambase #include <strstrea.h> Constructor/Destructor: strstream (construye un objeto) ~strstream (destruye un objeto) Funciones miembro: str Especifica el buffer que se ha de utilizar. str strstream::str str strstreambuf::str char *str(); char *str(); Devuelve un puntero al buffer y provoca una llamada a la función freeze. Devuelve y congela el buffer. El usuario debe desasignarlo si era dinámico. strstreambuf strstreambuf::strstreambuf strstream strstream::strstream 1. strstreambuf(); 2. strstreambuf(void *(*) (long), void (*) (void *)); 3. strstreambuf(int n); 4. strstreambuf(signed char *, int, signed char *end 0); 5. strstreambuf(unsigned char *, int, unsigned char *end 0); 1. strstream(); 2. strstream(char *, int n, int modo); (1) construye un objeto dinámico. (2) construye un objeto, asociándole un buffer estático de n bytes.

PROGRAMACIÓN ORIENTADA A OBJETOS

PROGRAMACIÓN ORIENTADA A OBJETOS PROGRAMACIÓN ORIENTADA A OBJETOS Operaciones con ficheros en Prof. Dr. Nicolás Luis Fernández García Departamento de Informática y Análisis Numérico Escuela Politécnica Superior Universidad de Córdoba

Más detalles

1. Gestión de E/S. 2. Clases básicas. 3. E/S estándar. 4. Manejo de ficheros. Entrada/Salida en C++

1. Gestión de E/S. 2. Clases básicas. 3. E/S estándar. 4. Manejo de ficheros. Entrada/Salida en C++ Entrada/Salida en C++ 1. Gestión de E/S. 2. Clases básicas. 3. E/S estándar. 4. Manejo de ficheros. Lenguaje C++. Leng. Prog. II. Filiberto Pla y Jorge Badenas. Gestión de Entrada/Salida Principios generales

Más detalles

#include <fstream.h> ifstream descriptor ( nombre.extensión ); ofstream descriptor ( nombre.extensión );

#include <fstream.h> ifstream descriptor ( nombre.extensión ); ofstream descriptor ( nombre.extensión ); ARCHIVOS EN C++ = FLUJOS DE ENTRADA/SALIDA. Ejemplo: cin y cout Tipos de ficheros: DE TEXTO y BINARIOS Biblioteca de gestión de ficheros (a incluir en los programas) #include Apertura de ficheros

Más detalles

TEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero

TEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero TEMA 7: Ficheros 7.1.-Concepto de fichero Todas las estructuras de datos que hemos visto hasta ahora utilizan memoria principal. Esto tiene dos limitaciones importantes: 1. Los datos desaparecen cuando

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS CON C++

PROGRAMACIÓN ORIENTADA A OBJETOS CON C++ PROGRAMACIÓN ORIENTADA A OBJETOS CON C++ o cómo aprender C++ en 1 hora! sin que se note que realmente está escribiendo en C Enrique Alba Torres Andrés Rubio del Río PROGRAMACIÓN ORIENTADA A OBJETOS (POO)

Más detalles

Uso de archivos en C++

Uso de archivos en C++ CICLO 02-2013 UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION GUIA DE LABORATORIO Nº 11 Nombre de la práctica: Uso de archivos en C++ Lugar de ejecución: Laboratorio de Informática

Más detalles

Tema 3: Ficheros en C++

Tema 3: Ficheros en C++ de : en C++ Programación 2, Curso 2013-2014 Índice de, 1 de de un fichero de (1/2) de un fichero de 2, de un fichero binario de un fichero binario 3 Control de errores de lectura/escritura Qué es un fichero

Más detalles

Entrada y salida de datos en C y C++

Entrada y salida de datos en C y C++ Universidad Nacional de Rosario Facultad de Ciencias Exactas, Ingeniería y Agrimensura Escuela de Ingeniería Electrónica Cátedra de Informática II Entrada y salida de datos en C y C++ Informática II Entrada/Salida

Más detalles

Estructura de Datos: Archivos

Estructura de Datos: Archivos Estructura de Datos: Archivos Registros (record) Un registro es una estructura que consiste de un número fijo de componentes llamados campos. Los campos pueden ser de diferentes tipos y deben tener un

Más detalles

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Tipos de Datos Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Entrada de datos Procesamientos de datos Salida de resultados Los

Más detalles

Elementos de un programa en C

Elementos de un programa en C Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución

Más detalles

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS Una vez que ya sabes crear tus propios programas, vamos a analizar los fundamentos del lenguaje de programación C. Este capítulo incluye además los siguientes temas:

Más detalles

UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO.

UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO. UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO. TRUJILLO 1.- Resumen de Prog1 Comentarios es C++ Declaraciones de variables.

Más detalles

Laboratorio de Arquitectura de Redes. Entrada y salida estándar

Laboratorio de Arquitectura de Redes. Entrada y salida estándar Laboratorio de Arquitectura de Redes Entrada y salida estándar Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato: scanf() El buffer de teclado Entrada

Más detalles

Informática Ingeniería en Electrónica y Automática Industrial

Informática Ingeniería en Electrónica y Automática Industrial Informática Ingeniería en Electrónica y Automática Industrial Entrada y salida estándar V1.3 Autores Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato:

Más detalles

Contenidos. Archivos en C++ Archivos en C++ Introducción

Contenidos. Archivos en C++ Archivos en C++ Introducción Contenidos 1. Introducción. 2. Manipulación de ficheros. 3. Organización de archivos. 4. Tipo de almacenamiento. 5. Biblioteca de flujos. 6. Operaciones asociadas a archivos: Abrir fichero, Cerrar fichero,

Más detalles

Tema 13: Apuntadores en C

Tema 13: Apuntadores en C Tema 13: Apuntadores en C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Introducción

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Prácticas de C++ Practica Nº 10 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante INDICE 1.1 EJERCICIO 1: MI PRIMER FICHERO EN BINARIO... 1 1.2 EJERCICIO 2: LEYENDO MI PRIMER FICHERO

Más detalles

Capítulo. Flujos y archivos en C++ Contenido

Capítulo. Flujos y archivos en C++ Contenido Capítulo 33 Flujos y archivos en C++ Contenido Flujos ( streams) La biblioteca de clases iostream Clases istream y ostream La clase ostream Salida a la pantalla y a la impresora Lectura del teclado Formateado

Más detalles

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Uso de Ficheros Todas las estructuras de datos vistas hasta ahora utilizan la

Más detalles

CURSO DE LENGUAJE C. 4.1 Conceptos básicos de funciones 4.2 Funciones que regresan valores no enteros 4.3 Variables externas 4.4 Reglas de alcance

CURSO DE LENGUAJE C. 4.1 Conceptos básicos de funciones 4.2 Funciones que regresan valores no enteros 4.3 Variables externas 4.4 Reglas de alcance Capítulo 1. Introducción general 1.1 Comencemos 1.2 Variables y expresiones aritméticas 1.3 La proposición FOR 1.4 Constantes simbólicas 1.5 Entrada y salida de caracteres 1.6 Arreglos 1.7 Funciones 1.8

Más detalles

Entrada y Salida en C++

Entrada y Salida en C++ Estructura de Datos y Algoritmos Entrada y Salida en C++ 1. Introducción Las bibliotecas estándar de C++ proporcionan un amplio conjunto de capacidades de entrada/salida (E/S). C++ utiliza E/S a prueba

Más detalles

CONTENIDO DE LA LECCIÓN 6 FLUJO DE SALIDA ESTANDAR EN C++

CONTENIDO DE LA LECCIÓN 6 FLUJO DE SALIDA ESTANDAR EN C++ CONTENIDO DE LA LECCIÓN 6 FLUJO DE SALIDA ESTANDAR EN C++ 1. INTRODUCCIÓN 3 2. FLUJOS 3 2.1. Archivos de encabezado de la biblioteca iostream 4 2.2. Clases y objetos de flujo de entrada/salida 5 3. FLUJO

Más detalles

ALMACENAMIENTO PERSISTENTE DE DATOS

ALMACENAMIENTO PERSISTENTE DE DATOS UNIVERSIDAD DE MÁLAGA Dpto. Lenguajes y CC. Computación E.T.S.I. Telecomunicación ALMACENAMIENTO PERSISTENTE DE DATOS Tema 1 Programación II Programación II 0 Tema 1: ALMACENAMIENTO PERSISTENTE DE DATOS

Más detalles

Práctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros

Práctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros Práctica 3. Paso de parámetros entre subrutinas 1. Objetivo de la práctica El objetivo de esta práctica es que el estudiante se familiarice con la programación en ensamblador y el convenio de paso de parámetros

Más detalles

Principios de Computadoras II

Principios de Computadoras II Departamento de Ingeniería Electrónica y Computadoras Ing. Ricardo Coppo rcoppo@uns.edu.ar Qué es un Objeto? Un objeto es una instancia de una clase Las clases actuán como modelos que permiten la creación

Más detalles

Definición de Memoria

Definición de Memoria Arquitectura de Ordenadores Representación de Datos en Memoria Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Definición de Memoria DRM-1 La memoria

Más detalles

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C Algoritmo y Estructura de Datos Ing. M. Laura López 1 Estructura de un programa en C 2 Estructura de un programa en C #include Archivos de cabecera # define Definición de constantes Declaraciones Globales

Más detalles

Memoria Dinámica. Jornadas de Marzo 2010 Grupo de Usuarios de Linux Tania Pérez

Memoria Dinámica. Jornadas de Marzo 2010 Grupo de Usuarios de Linux Tania Pérez Jornadas de Marzo 2010 Grupo de Usuarios de Linux Tania Pérez 1. PUNTEROS 2. MEMORIA DINÁMICA 2 1. PUNTEROS 3 Qué es un puntero? Un tipo de variable cuyo valor es la dirección de memoria de otra variable.

Más detalles

Estructuras de Datos Declaraciones Tipos de Datos

Estructuras de Datos Declaraciones Tipos de Datos Departamento de Informática Universidad Técnica Federico Santa María Estructuras de Datos Declaraciones Tipos de Datos Temas: 2-3-4 IWI-131, paralelo 01 Profesor: Teddy Alfaro O. Lenguaje de Programación

Más detalles

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1 Prologo Agradecimientos Nota de los autores Índice general I III V VII 1 Problemas, algoritmos y programas 1 1.1 Programas y la actividad de la programación.................... 4 1.2 Lenguajes y modelos

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...

Más detalles

The Atomik Microkernel API Reference, version 0.1 february 2014 (Spanish)

The Atomik Microkernel API Reference, version 0.1 february 2014 (Spanish) Atomik Kernel API loader Una de las funciones del microkernel consiste en ejecutar diversos tipos de procesos (hilos del kernel, procesos de sistema y procesos de usuario). Para el caso de los procesos

Más detalles

Ficheros conceptos. Manejo de ficheros en C. Apertura del fichero Función fopen: nombre del fichero. Apertura del fichero Función fopen

Ficheros conceptos. Manejo de ficheros en C. Apertura del fichero Función fopen: nombre del fichero. Apertura del fichero Función fopen Fundamentos de Informática. Dpto. de ATC - Página 1 de 8 conceptos Manejo de ficheros en C Contienen los datos que se almacenan en dispositivos de almacenamiento masivo: disquetes, discos duros, DROM,

Más detalles

Guía rápida para gestionar el puerto paralelo del PC

Guía rápida para gestionar el puerto paralelo del PC Guía rápida para gestionar el puerto paralelo del PC Descarga desde: http://eii.unex.es/profesores/jisuarez/descargas/ip/guia_rapida_pp.pdf José Ignacio Suárez Marcelo Universidad de Extremadura Escuela

Más detalles

ESTRUCTURA DE COMPUTADORES I (Capítulo 16:El Teclado) 1/5 16-EL TECLADO

ESTRUCTURA DE COMPUTADORES I (Capítulo 16:El Teclado) 1/5 16-EL TECLADO ESTRUCTURA DE COMPUTADORES I (Capítulo 16:El Teclado) 1/5 16-EL TECLADO 16.1 INTRODUCCIÓN: El teclado se comunica con la BIOS a través de puertos de comunicación controlados por las interrupciones de la

Más detalles

Tema: Sobrecarga de Operadores.

Tema: Sobrecarga de Operadores. Programación II. Guía 7 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Sobrecarga de Operadores. Objetivos Describir como redefinir (sobrecargar) operadores para que funcionen

Más detalles

Examen escrito de Programación 1. Jueves 5 de febrero de Problema 1 o (3.5 puntos)

Examen escrito de Programación 1. Jueves 5 de febrero de Problema 1 o (3.5 puntos) Examen escrito de Programación 1. Jueves 5 de febrero de 2015 Se debe disponer de un documento de identificación con fotografía sobre la mesa. Se debe comenzar a resolver cada uno de los dos problemas

Más detalles

FUNDAMENTOS DE INFORMÁTICA

FUNDAMENTOS DE INFORMÁTICA FUNDAMENTOS DE INFORMÁTICA Tema 1 Introducción a la Programación en Visual Basic Departamento de Ingeniería de Sistemas y Automática Universidad de Vigo undamentos de Informática. Departamento de Ingeniería

Más detalles

TIPO DE DATO ABSTRACTO (TDA)

TIPO DE DATO ABSTRACTO (TDA) TIPO DE DATO ABSTRACTO (TDA) Ing. Eduard Antonio Lozano Córdoba Nota: Toda la información fue copiada de: Libros físicos e Internet Actividad Extra Clases #include #include int binario(int

Más detalles

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs. Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1

Más detalles

Introducción a los Computadores

Introducción a los Computadores Introducción a los Computadores Práctica nº 4 Introducción. Un tipo de datos estructurado es un tipo de datos formado por una colección organizada de componentes de algún otro tipo de datos. Podremos hacer

Más detalles

TIPOS DE DATOS BASICOS EN LENGUAJE C

TIPOS DE DATOS BASICOS EN LENGUAJE C TIPOS DE DATOS BASICOS EN LENGUAJE C TIPO char int float double void ANCHO EN BIT 64 0 TIPOS DE DATOS RANGO EN PC -12 a 127 3.4E-3 a 3.4E+3 1.7E-30 a 1.7E+30 sin valores TIPO ANCHO EN BIT RANGO EN PC char

Más detalles

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso 2013-2014. 1º Grado en Informática Práctica 1: Punteros Objetivos Se hará hincapié en la aritmética de punteros

Más detalles

Entrada y Salida vía Archivos

Entrada y Salida vía Archivos Entrada y Salida vía Archivos Lectura de un archivo de entrada Escritura en un archivo de salida Agustín J. González ELO329 1 Lectura de archivos de entrada Un archivo de entrada es una secuencia de bytes

Más detalles

Programación. Test Autoevaluación Tema 3

Programación. Test Autoevaluación Tema 3 Programación Test Autoevaluación Tema 3 Autores: M. Paz Sesmero Lorente Paula de Toledo Heras Fco. Javier Ordoñez Morales Juan Gómez Romero José A. Iglesias Martínez José Luis Mira Peidro SOLUCIONES 1.

Más detalles

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola)

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola) Objetivos de la sesión Entender el tipo de programas que se pueden realizar con aplicaciones de consola. Conocer el concepto de variable, la forma en que se declaran y su utilización. Conocer la forma

Más detalles

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso 2013-2014. 1º Grado en Informática Práctica 2: Memoria dinámica y Bibliotecas Objetivos Practicar conceptos

Más detalles

PROGRAMACION ORIENTADA A OBJETOS EN C++

PROGRAMACION ORIENTADA A OBJETOS EN C++ PROGRAMACION ORIENTADA A OBJETOS EN C++ 1- INTRODUCCIÓN El lenguaje C++ representa el resultado de los esfuerzos realizados para proporcionar las ventajas de la programación Orientada a Objetos a un lenguaje

Más detalles

Escuela Politécnica Superior de Elche

Escuela Politécnica Superior de Elche EXAMEN DE SISTEMAS INFORMÁTICOS INDUSTRIALES ((SOLUCIÓN) (TEORÍA)jUJ jhshshs SEPTIEMBRE 2015 1. Indicar si las siguientes afirmaciones son verdaderas o falsas: (a) En C++, una clase derivada puede acceder

Más detalles

Tema 6. Gestión dinámica de memoria

Tema 6. Gestión dinámica de memoria Tema 6. Gestión dinámica de memoria http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, sanchiz@icc.uji.es Estructuras de datos y de la

Más detalles

Introducción a variables de tipo Puntero (Apuntadores) Contenidos. 1. Introducción a las variables puntero 2. Repaso:

Introducción a variables de tipo Puntero (Apuntadores) Contenidos. 1. Introducción a las variables puntero 2. Repaso: Contenidos 1. Introducción a las variables untero 2. Reaso: - oerador de dirección: & - referencias 3. Declaración de variables de tio untero 4. Inicialización de variables de tio untero - El untero nulo:

Más detalles

Programación En Lenguaje C

Programación En Lenguaje C Programación En Lenguaje C Introducción Básica para Primero de Bachillerato TECNOLOGÍA DE LA INFORMACIÓN IES PALAS ATENEA Lenguaje C Estructurado Secuencial De alto Nivel Altamente portable Necesita un

Más detalles

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A. SISTEMAS INFORMÁTICOS I Junio 2003 INGENIERÍA EN INFORMÁTICA - Código Carrera 55 - Código Asignatura 077 Tipo de Examen: A NO SE PERMITE EL USO DE NINGÚN MATERIAL Tiempo: 2 horas Apellidos: Nombre: DNI:

Más detalles

Laboratorio de Arquitectura de Redes. Punteros en lenguaje C

Laboratorio de Arquitectura de Redes. Punteros en lenguaje C Laboratorio de Arquitectura de Redes Punteros en lenguaje C Punteros en lenguaje C Definición Declaración e inicialización de punteros Operadores de punteros: «*» y «&» Operaciones con punteros Operaciones

Más detalles

4. Operadores Operador asignación

4. Operadores Operador asignación Programación orientada a objetos con Java 43 4. Operadores Objetivos: a) Describir los operadores (aritméticos, incrementales, de relación, lógicos y de asignación) y los tipos de dato primitivos sobre

Más detalles

Programación I Unidad III. Tema: Tipos, estructuras y uniones

Programación I Unidad III. Tema: Tipos, estructuras y uniones Programación I Unidad III Tema: Tipos, estructuras y uniones El especificador typedef La palabra reservada typedef representa un especificador de clase de almacenamiento, y se utiliza para definir nuevos

Más detalles

DOCUMENTACIÓN PARA EL TRABAJO CON LA PLATAFORMA GUADALBOT

DOCUMENTACIÓN PARA EL TRABAJO CON LA PLATAFORMA GUADALBOT DOCUMENTACIÓN PARA EL TRABAJO CON LA PLATAFORMA GUADALBOT I.E.S VIRGEN DE LAS NIEVES Programación C para microcontroladores La función printf Índice de contenidos Introducción...2 La función printf...2

Más detalles

Definición y Conversión de datos. Agustín J. González ELO-329

Definición y Conversión de datos. Agustín J. González ELO-329 Definición y Conversión de datos Agustín J. González ELO-329 1 Calificador Const El calificador const previene que un objeto sea modificado con posterioridad a su definición. El objeto calificado como

Más detalles

2.2 Nombres, Ligado y Ámbito

2.2 Nombres, Ligado y Ámbito 2.2 Nombres, Ligado y Ámbito Ligado estático y dinámico, reglas de ámbito y prueba de tipos. Conceptos Nombres e Identificadores Variables Tipos Ámbito Constantes Nombres Identificador que designa en el

Más detalles

Práctica 4: Herencia. Objetivos:

Práctica 4: Herencia. Objetivos: Práctica 4: Herencia Objetivos: Como se implementa la herencia en Java (superclase - clase descendiente). Utilizar super. Redefinición de métodos Clase Object Clase System Clases abstractas 1. Herencia.

Más detalles

Temario detallado. Conceptos generales de lenguajes y compiladores. Proceso de compilación de un programa en C++ bajo Code::Blocks

Temario detallado. Conceptos generales de lenguajes y compiladores. Proceso de compilación de un programa en C++ bajo Code::Blocks Temario detallado Programación básica en C++ Conceptos generales de lenguajes y compiladores Proceso de compilación de un programa en C++ bajo Code::Blocks Estructura básica de un programa en C++ Análisis

Más detalles

7. Manejo de Archivos en C.

7. Manejo de Archivos en C. 7. Manejo de Archivos en C. Los datos que hemos tratado hasta el momento han residido en la memoria principal. Sin embargo, las grandes cantidades de datos se almacenan normalmente en un dispositivo de

Más detalles

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs. Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1

Más detalles

Constantes. Las constantes no cambian durante la ejecucion de un programa en C++, en C++ existen 4 tipos de constantes:

Constantes. Las constantes no cambian durante la ejecucion de un programa en C++, en C++ existen 4 tipos de constantes: Constantes Las constantes se pueden declarar con la palabra reservada const y se le asigna un valor en el momento de la declaracion, este valor no se puede modificar durante el programa y cualquier intento

Más detalles

PATRONES DE DISEÑO DE CREACIÓN. Abstract Factory Builder Factory Method Prototype

PATRONES DE DISEÑO DE CREACIÓN. Abstract Factory Builder Factory Method Prototype PATRONES DE DISEÑO DE CREACIÓN Abstract Factory Builder Factory Method Prototype Patrones de diseño de creación Abstraen el proceso de creación de instancias Encapsulan el conocimiento sobre las clases

Más detalles

APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable.

APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. APUNTADORES Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. No hay que confundir una dirección de memoria con el contenido

Más detalles

1

1 Curso: BORLAN DELPHI 5 Curso de desarrollo de aplicaciones Windows utilizando el entorno de programación Borland Delphi 5. Se estudian las particularidades del lenguaje Delphi, así como su sintaxis; sus

Más detalles

Tema 2. El lenguaje JAVA

Tema 2. El lenguaje JAVA Tema 2. El lenguaje JAVA Nomenclatura habitual Variables Tipos de variables Tipos primitivos Referencias Arrays Operadores Operadores de Java Precedencia de operadores Sentencias de control Sentencias

Más detalles

Programación 2. Grado en Estadística Aplicada. Curso 2012-2013. Generación de números pseudoaleatorios. Manejo de ficheros de texto.

Programación 2. Grado en Estadística Aplicada. Curso 2012-2013. Generación de números pseudoaleatorios. Manejo de ficheros de texto. Programación 2 Grado en Estadística Aplicada Curso 2012-2013 Generación de números pseudoaleatorios. Manejo de ficheros de texto. Jesús Correas jcorreas@fdi.ucm.es Departamento de Sistemas Informáticos

Más detalles

Tema 10: Tipos de datos definidos por el usuario

Tema 10: Tipos de datos definidos por el usuario Tema 10: Tipos de datos definidos por el usuario Indice 1. Introducción 2. Registros 2.1. Elementos de un registro 2.2 Arrays de registros 2.3. Registros con arrays 2.4. Registros con registros 2.5. Paso

Más detalles

Examen escrito de Programación 1

Examen escrito de Programación 1 Examen escrito de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 2 de septiembre de 2015 Se debe disponer sobre la mesa en lugar visible un documento

Más detalles

9 GESTIÓN BÁSICA DE FICHEROS. Contenido

9 GESTIÓN BÁSICA DE FICHEROS. Contenido 9 GESTIÓN BÁSICA DE FICHEROS Contenido 9.1.- Introducción. 9.2.- Archivos C++. 9.2.1.- Apertura de ficheros. 9.2.2.- Cierre de ficheros. 9.2.3.- Detección de fin de fichero y otras funciones. 9.2.4.- Comprobación

Más detalles

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA APUNTES DE JAVA FUNCIONAMIENTO DE UN PROGRAMA Assembler Ensamblador Ejecuta Programador Programa fuente BASIC Interprete Ejecuta C, C++, Pascal Compilador Compila Ejecuta Programa fuente Programa Objeto

Más detalles

Apuntadores en C y C++

Apuntadores en C y C++ Apuntadores en C y C++ Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Prof. Marcos A. Gil T. 8 de diciembre de 2004 1. Introducción Los apuntadores en C y C++ son una herramienta

Más detalles

Ficheros y streams. Desde el punto de vista de Java, cada fichero no es más que una secuencia o flujo de bytes [stream].

Ficheros y streams. Desde el punto de vista de Java, cada fichero no es más que una secuencia o flujo de bytes [stream]. Ficheros y streams Desde el punto de vista de Java, cada fichero no es más que una secuencia o flujo de bytes [stream]. Los streams pueden ser de entrada () de salida (). Los ficheros pueden almacenar

Más detalles

Instituto Tecnológico de Celaya

Instituto Tecnológico de Celaya CADENAS DE CARACTERES Hasta ahora se han manejado variables de tipo caracter cuyo valor es un sólo caracter. En algunos casos, sin embargo, es necesario usar variables cuyos valores sean un conjunto (cadena)

Más detalles

GUIA No 5. CREACIÓN DE SubVI s

GUIA No 5. CREACIÓN DE SubVI s GUIA No 5 CREACIÓN DE SubVI s Una característica importante de LabView es el manejo de jerarquías y el poder utilizar fácilmente un programa anterior como un módulo de otro cualquiera. Cuando un VI es

Más detalles

Necesidad de la herencia pertenencia variedad is a has a herencia variedad definir una clase modificando una o más clases añadir nuevos miembros

Necesidad de la herencia pertenencia variedad is a has a herencia variedad definir una clase modificando una o más clases añadir nuevos miembros Necesidad de la herencia La mente humana clasifica los conceptos de acuerdo a dos dimensiones: pertenencia y variedad. Se puede decir que el Ford Fiesta es un tipo de coche (variedad o, en inglés, una

Más detalles

Fundamentos de programación

Fundamentos de programación Fundamentos de programación Estructuras de Control Estructuras de control Estructuras de control Estructura secuencial Estructura alternativa Sentencias if, if else Sentencias if else anidadas El operador

Más detalles

Una base de datos de Access puede estar conformada por varios objetos, los más comunes son los siguientes:

Una base de datos de Access puede estar conformada por varios objetos, los más comunes son los siguientes: MICROSOFT ACCESS DEFINICIÓN MS Access es un programa para manejar bases de datos. Una base de datos es un conjunto de datos de un determinado tema o contexto, almacenados de forma sistemática, para obtener

Más detalles

Conceptos a tratar. Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos

Conceptos a tratar. Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad

Más detalles

Programación orientada a objetos. Resumen de Temas Unidad 4: Sobrecarga

Programación orientada a objetos. Resumen de Temas Unidad 4: Sobrecarga Programación orientada a objetos Resumen de Temas Unidad 4: Sobrecarga 4.1 Conversión de tipos (1) Conversiones implícitas: La conversión entre tipos primitivos se realizan de modo automático de un tipo

Más detalles

Lenguajes de programación

Lenguajes de programación Lenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa de computador es una secuencia de estas instrucciones Etapas

Más detalles

Por ejemplo, para declarar un arreglo de enteros llamado a con diez elementos se hace de la siguiente forma:

Por ejemplo, para declarar un arreglo de enteros llamado a con diez elementos se hace de la siguiente forma: Arreglos unidimensionales y multidimensionales Los arreglos son una colección de variables del mismo tipo que se referencian utilizando un nombre común. Un arreglo consta de posiciones de memoria contigua.

Más detalles

Apuntadores (Punteros)

Apuntadores (Punteros) Apuntadores (Punteros) x9ff10 X int 209 SESION 7 *ptr Definición Llamados también punteros. Un Apuntador es una variable que contiene una dirección de memoria, la cual corresponderá a un dato o a una variable

Más detalles

Introducción al tipo de dato ARRAY

Introducción al tipo de dato ARRAY CONTENIDOS. Introducción al tipo de dato ARRAY. Definición, Características, Declaración, Acceso e Inicialización.. Arrays multidimensionales Definición, Declaración, Acceso e Inicialización. Introducción

Más detalles

Programación estructurada (Introducción a lenguaje C)

Programación estructurada (Introducción a lenguaje C) Programación estructurada (Introducción a lenguaje C) M. en C. Sergio Luis Pérez Pérez UAM CUAJIMALPA, MÉXICO, D. F. Trimestre 15-I Sergio Luis Pérez (UAM CUAJIMALPA) Curso de programación estructurada

Más detalles

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Java Avanzado Facultad de Ingeniería. Escuela de computación. 2 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 5 3 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo de sus prácticas

Más detalles

Lección 2 Introducción al lenguaje C

Lección 2 Introducción al lenguaje C Lección Introducción al lenguaje C Decimal Binario Hexadecimal A B C D E F Octal Equivalencia entre decimal, binario, hexadecimal y octal. Código ASCII (American Standard Code for Information Interchange)

Más detalles

Introducción al lenguaje C

Introducción al lenguaje C Programación 2 Profesorado de Informática CeRP del Suroeste, Uruguay 29 de marzo de 2016 Estructuras de control IV Iteración Sentencia for: for (inicio; condicion; paso) cuerpo for (int i = 0; i < 10;

Más detalles

LENGUAJE. Tema 2 Elementos de un programa

LENGUAJE. Tema 2 Elementos de un programa LENGUAJE Tema 2 Elementos de un programa ELEMENTOS DE UN PROGRAMA Comentarios. Identificadores. Constantes. Variables. Operadores. Sentencias o instrucciones. COMENTARIOS Los comentarios en C pueden ocupar

Más detalles

GESTION DE UN LCD USANDO CCS COMPILER (PICC)

GESTION DE UN LCD USANDO CCS COMPILER (PICC) GESTION DE UN LCD USANDO CCS COMPILER (PICC) La mayoría de displays de cristal líquido se usan con controlador del tipo HD44780, con un número de líneas variable y una cantidad de caracteres también variable,

Más detalles

1 Estructura básica de un programa C++

1 Estructura básica de un programa C++ Elementos básicos de un lenguaje de alto nivel: C++ CONTENIDOS 1. Estructura básica de un programa C++. 2. Tipos de datos simples. 3. Constantes y variables en C++. Declaración. 4. Operadores y expresiones.

Más detalles

Parte I: Elementos del lenguaje Ada

Parte I: Elementos del lenguaje Ada Parte I: Elementos del lenguaje Ada 1. Introducción a los computadores y su programación 2. Elementos básicos del lenguaje 3. Modularidad y programación orientada a objetos 4. Estructuras de datos dinámicas

Más detalles

ANEXO XVII DE LA RESOLUCION N

ANEXO XVII DE LA RESOLUCION N Hoja 1 de 7 UNIVERSIDAD NACIONAL DE CÓRDOBA Facultad de Ciencias Exactas Físicas y Naturales República Argentina Programa de: Código: Informática Carrera: Materia común Res. Nº Plan: Puntos:3.5 Escuela:

Más detalles

PHP: Lenguaje de programación

PHP: Lenguaje de programación Francisco J. Martín Mateos Carmen Graciani Diaz Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Tipos de datos Enteros Con base decimal: 45, -43 Con base octal: 043, -054

Más detalles

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main. LENGUAJE C CARACTERISTICAS DEL LENGUAJE 'C' El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan

Más detalles

Tema 3. Tipos de datos simples

Tema 3. Tipos de datos simples Tema 3. Tipos de datos simples Contenido del tema: Concepto de tipo. Tipos simples. Operadores. Expresiones. Semántica. Tipos y expresiones en lenguaje C++ Francisco J. Veredas Dpto. Lenguajes y Ciencias

Más detalles

Clases en C++ Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Algoritmos y Programación II. Enero de 2005

Clases en C++ Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Algoritmos y Programación II. Enero de 2005 Clases en C++ Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Algoritmos y Programación II Enero de 200 1. Definición de Clases Cada clase contiene: datos (datos miembro o campos),

Más detalles