Programación General > C++ Builder
Lectura De Archivo
Goselito_0:
Hola, aqui estoy de nuevo, de duda en duda...
La duda es la siguiente:
Creo el archivo:
fstream fichout(nom_arch.c_str(), ios::out);
(lo manipulo y lo cierro)
fichout.close()
Al leerlo utilizo el bucle:
while (!fichout.eof())
()
Añado la libreria <fstream.h>
En la mamipulacion no esta el error puesto que he utilizado un bucle "for" para probarlo y funciona, el error creo que esta en que no encuentra el final del archivo correctamente y me da error de memoria, ¿estoy pasando algo por alto?
Gracias de nuevo.
sonGoku:
pon un poco más de código sobre como abres el fichero, y lees datos.
Saludos
Goselito_0:
Sigo sin encontrar el fallo :( Cuando me salta el error se abre "stdlib.h"
--- Código: Text --- fstream fich(nomb_arch.c_str(), ios::in); if (!fich.is_open()) ShowMessage("El fichero no existe o no pudo abrirse correctamente!!"); else { // LEEMOS UNA LINEA DEL FICHERO ABIERTO: // Nos situamos en el comienzo del archivo fich.seekg(0); // Extraemos la primera linea, se leen los titulos de cabecera "Id. Bloque" "Fila" "Columna"... fich.getline(salida,100); for(i= 1; i< 10; i++) //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! //while(fich.eof()== false) { // Extraemos la segunda linea fich.getline(salida,100); // Asignamos valores al "elem" y lo guardamos en la lista_arch // Leemos el id. bloque (tipo char) p= strtok(salida, ";"); elem.inform.Ident= p; // Leemos la fila (int) p= strtok(NULL, ";"); d= atoi(p); elem.inform.fila= d; ... lista_arch.Insertar_pos(lista_arch.Longitud()+1, elem); } fich.close(); }
Goselito_0:
¿Es posible que el fallo este en el uso de la funcion "atoi"?
Cuando me sale el error se abre la libreria stdlib.h y se marca la siguiente linea:
--- Código: Text --- inline int _RTLENTRY atoi(const char *__s) { return (int)atol(__s); }
¿Hay alguna otra forma de pasar de char a int?
Gracias de nuevo.
TRod:
Te recomiendo que agregues una excepción (try/catch) y verificar que datos esta leyendo.
Navegación
[#] Página Siguiente
Ir a la versión completa