Programación Específica > Matlab
por que me da error al intentar abrir el archivo??
Jessi:
me podeis ayudar con el siguiente codigo??
function suma
fid = fopen('archivo.m','r');
while feof(fid) == 0
filename = fgetl(fid);
disp(filename)
fid2=fopen('filename')
end
fclose(fid);
end
el archivo.m contiene lo siguiente:
'2006060200522900dBZ.vol.ascii'
'2006060201022900dBZ.vol.ascii'
lo que me pasa es q el segundo fopen (el de dentro del while) me devuelve un -1, es decir, un error y no se abre el archivo con nombre '2006060200522900dBZ.vol.ascii'.
Me podeis ayudar???
muchisimas gracias
allisap:
si tu archivo .m solo tiene esas dos lineas de texto, ¿no es mas facil leerlar directamente?
es decir hacer esto
fid = fopen('2006060200522900dBZ.vol.ascii','r');
fid2 = fopen('2006060201022900dBZ.vol.ascii','r');
saludos
Victor Pasilla Campos
Jessi:
Primero de todo, gracias por contestar.
Este es un ejemplo, el archivo seran unas 100 lineas. Lo q pasa q para hacer pruebas y ver si funciona solo he puesto 2. Por eso queria leerlas del archivo aparte, y asi hacer un bucle en el programa principal.
un saludo
allisap:
ah ok...
bueno, lo primero que veo es que el segundo fopen no tiene los atributos de lectura, segundo
dices que son 100 nombres de archivo diferentes, y la apertura de archivo la estas realizando dentro de un ciclo while
pero cierras el archivo fuera del ciclo por lo que solo vas a cerrar el ultimo, y los otros 99 van a seguir abiertos, esta no es
una buena practica, es mejor que abras un archivo operes sobre el, y luego lo cierres,
por ultimo el -1 indica que no pudo abrir el archivo primero verifica que esta en la misma carpeta y que el nombre de archivo sea correcto.
espero te sirva
Saludos
Victor Pasilla Campos
Jessi:
Gracias otra vez.
Miraré bien esas cosas, aunque creo que los nombres estan bien puestos.
Y una cosa: si cierro el archivo donde están los 100 nombres cada vez que corre el while, ¿puedo unsar la función fgtel? Porque esta función va línea a línea, ¿no?
Bueno, a ver si miro esas cositas y te comento. Me está volviendo loca esto, porque una vez que solucione esto el resto del programa que tengo que hacer es fácil (o eso creo, jeje).
Muchas gracias de verdad.
Saludos victor
Navegación
[#] Página Siguiente
Ir a la versión completa