Soy un principiante de Fortran. Me gustaría poder leer un archivo de texto y guardar su contenido en variables individuales. Encontré un tutorial de Fortran muy útil (http://www.math.hawaii.edu/~hile/fortran/fort7.htm#read), y estoy tratando de seguir uno de los ejemplos allí enumerados. En concreto, hice un archivo de texto llamado datos.txt con el siguiente texto:Lectura de un archivo de texto delimitado por comas línea por línea en Fortran
1.23, 4.56, 7.89
11, 13, "Sally"
he guardado este archivo de texto en mi directorio actual. A continuación, he creado un archivo test.f90 (también guardarlo en mi directorio actual) que contiene el siguiente código:
PROGRAM test
IMPLICIT NONE
REAL :: x, y, z
INTEGER :: m, n
CHARACTER first*20
OPEN(UNIT = 7, FILE = "data.txt")
READ(7,*) x, y, z
READ(7,*) m, n, first
PRINT *, x
PRINT *, y
PRINT *, z
PRINT *, m
PRINT *, n
PRINT *, first
END PROGRAM test
estoy usando el compilador GNU Fortran, que creo que incluye las características por lo menos hasta e incluyendo Fortran95. El código anterior parece compilarse correctamente, al menos con la configuración predeterminada). Pero cuando corro el ejecutable resultante, me sale este mensaje de error:
At line 10 of file test.f90 (unit = 7, file = 'data.txt')
Fortran runtime error: End of file
La línea 10 es la línea LEER (7, *) m, n, primero. ¿Puedes ayudarme a ver lo que estoy haciendo mal en el código anterior?
Inténtalo con otro número de unidad (> 10). Tal vez su compilador usa la unidad 7 para un dispositivo preconectado. – eriktous
@eriktous: Muchas gracias por su tiempo, pero desafortunadamente esto no soluciona el problema (al menos cuando uso una unidad de 15). Gracias por el consejo, sin embargo; es realmente bueno saber que el compilador puede usar unidades de 10 o menos para dispositivos preconectados. Voy a tener esto en cuenta. ¡Gracias! – Andrew