BUSCAR
INDICE
INDICE DEL TEMA
OBJETIVOS
TEORIA
PALABRAS RESERVADAS
GLOSARIO
EJERCICIOS
RESUELTOS
AUTOEVALUACION
PROPUESTOS
ERRORES
ESTADISTICAS
INICIO
FAQS
LINKS
RECOMIENDANOS
QUIENES SOMOS
MAPA DEL WEB
COLABORAR
Tema 21 Entrada / Salida en C++
Teoría: Funciones miembro de iostream

Las clases de entrada y salida de datos de C++ disponen de algunas funciones miembro que aumentan las capacidades de estas entradas y salidas. A continuación se incluye la declaración y una breve explicación de las más importantes:

ostream& put(char c); escribe un carácter en el flujo de salida

ostream& write(const char* s, int n); escribe n bytes de la cadena s en el flujo de salida. Puede utilizarse para salida binaria.

istream& get(char& c); lee un carácter del flujo de entrada y lo devuelve en el argumento pasado por referencia

istream& get(char* s, int n, char c=’\n’); introduce en s a lo más n caracteres del flujo de entrada (incluyendo el ‘\0’) o hasta que encuentra el carácter de terminación (por defecto ‘\n’), o el fin de fichero. No retira el carácter de terminación del flujo de entrada.

istream& getline(char* s, int n, char c=’\n’); lee a lo más n-1 caracteres del flujo de entrada o hasta que encuentra el carácter de terminación (por defecto ‘\n’) o hasta el fin de fichero. Retira el carácter de terminación del flujo de entrada, pero no lo almacena.

istream& read(char* s, int n); lee n bytes del flujo de entrada y los deposita en la cadena s. Se utiliza para entrada binaria.

istream& ignore(int n=1, int delim=EOF); ignora o descarta los n caracteres siguientes del flujo de entrada, o hasta que encuentra el carácter de terminación (por defecto el fin de fichero EOF).

istream& putback(char c); devuelve el carácter c al flujo de entrada

int peek(); lee un carácter del flujo de entrada pero sin retirarlo de dicho flujo; lo devuelve como valor de retorno.

La mayor parte de las funciones anteriores devuelven una referencia al flujo de entrada o de salida. Como se verá un poco más adelante, esta referencia puede utilizarse para detectar errores o la condición de fin de fichero.

Considérese el siguiente ejemplo de lectura de un fichero:

#include <fstream.h>
#include <iostream.h>
void main()
{


char frase[81];
fstream fi;
fi.open("datos.txt", ios::in);
while(fi.getline(frase, 80) != NULL)

cout << frase;

}

Para conocer con más detalle cómo se utilizan estás funciones acudir a alguno de los textos de C++ recomendados en la Bibliografía o al Help online.