La práctica del martes 3 de marzo es la primera en la que construiremos objetos repartidos en la clásica distribución de ficheros .h y .cpp para la cabecera, donde va la clase, y el cuerpo, donde irán los métodos de ese objeto.
Se verá cómo definir operadores para los objetos.
domingo, 1 de marzo de 2009
martes, 24 de febrero de 2009
Los ficheros. Hoy en el laboratorio hemos hecho la segunda práctica acerca de ficheros. Leer ficheros hasta que se encuentra el eof() parece fácil
ifstream f("nombrefich");
if (!f) return 1;
do {
f.getline(nombre, 256, ",");
if (f.eof()) break;
seguir leyendo
++i;
} while (siempre que haya sitio para lo leído)
No es tan sencillo saber si se ha acabado de leer el fichero.
Cuando se hace una lectura simple com en el caso de leer un entero f >> n; aunque el entero
esté al final del fichero y no haya otro byte detrás, eof() no salta. Para que salte hay que leer
otro número o cualquier otra cosa más, entonces es cuando salta.
Sin embargo, si se lee una línea con f.getline(…) eof() salta solo, ya que getline es más complejo
y trata de encontrar el fin de línea o de lo que sea y esa lectura interna sí que hace saltar
eof() aún habiendo leído ya algo en esa llamada.
Los ficheros binarios son fáciles, pero implican saber acerca de punteros y saber obtener
direcciones de variables… cosa que a muchos asusta. Por lo demás basta con leer/escribir/posicionar
o sea f.read(desde, cuánto); f.write(desde, cuánto); f.seekg(distancia, ios::beg);
Los ficheros quedan como una parte esencial de la programación en general a nivel de laboratorio
y se usan en todas las situaciones en que se quiera que los datos permanezcan, que son muchas
situaciones
Suscribirse a:
Comentarios (Atom)
