una matriz leer imprimir formato escribir crear como codigos caracteres avanzado archivo fortran gfortran

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.