matriz - leer caracteres en fortran
Error de tiempo de ejecuciĆ³n de Fortran: fin del archivo (1)
Estoy tratando de entender cómo funciona la declaración READ en Fortran. Para hacer esto, he escrito el siguiente programa simple:
program main
integer a,b,c
open(unit=10,file=''test.txt'',status=''old'')
read(10,*)a,b,c
print*,a,b,c
close(10)
end program main
Ejecuto esto en la terminal (usando una Mac): gfortran Main.f95; abrir a.out
Me sale el siguiente error: En la línea 5 del archivo Main.f95 (unit = 10, file = ''test.txt'') Fortran error de tiempo de ejecución: Fin del archivo
He buscado soluciones en toda la web y he encontrado la sugerencia de agregar IOSTAT = ... dentro de los especificadores de lectura, de la siguiente manera:
program main
integer a,b,c,IOstatus
open(unit=10,file=''test.txt'',status=''old'')
read(10,*,IOstat=IOstatus)a,b,c
print*,a,b,c,IOstatus
close(10)
end program main
Cuando hago esto, el programa se ejecuta con éxito. Sin embargo, el comando de impresión muestra "2 0 1 -1", que es erróneo ya que el archivo test.txt contiene "1,2,3".
He intentado ajustar cosas aquí y allá, pero no está bien. Estoy tratando de hacer algo que (creo) debería ser muy simple: leer una lista de enteros de un archivo .txt. Cualquier ayuda en cuanto a lo que estoy haciendo mal sería GRANMENTE apreciada.
Creo que su problema está relacionado con el archivo text.txt
lugar del código Fortran. Intenta agregar un carácter de final de línea (enter) en él. He ejecutado con éxito su código original con gfortran 5.4.
Vea esta publicación relacionada para más detalles.