Entiendo que Fortran, al leer datos del archivo, salteará líneas que comiencen con asterisco y (asterisco) (*) suponiendo que son un comentario. Bueno, parece que tengo un problema para lograr este comportamiento con un programa muy simple que creé. Este es mi sencillo programa de Fortran:Leyendo líneas de comentarios correctamente en un archivo de entrada utilizando Fortran 90
1 program test
2
3 integer dat1
4
5 open(unit=1,file="file.inp")
6
7 read(1,*) dat1
8
9
10 end program test
esto es "file.inp":
1 *Hello
2 1
he construido mi programa sencillo con
gfortran -g -o test test.f90
Cuando corro, me sale el error :
At line 7 of file test.f90 (unit = 1, file = 'file.inp')
Fortran runtime error: Bad integer for item 1 in list input
Cuando ejecuto el archivo de entrada wi la línea de comentario eliminada, es decir .:
1 1
El código funciona bien. Entonces, parece ser un problema con Fortran al interpretar correctamente esa línea de comentarios. Debe ser algo extremadamente simple Me falta aquí, pero no puedo encontrar nada en Google.
Sí, me di cuenta de eso, en realidad, y volvía a publicar mi solución. Sin embargo, su código es un poco más inteligente que la solución que se me ocurrió (estaba usando la opción "end =" para mi declaración de lectura). Una cosa que no entiendo, sin embargo, es ¿cuál es la necesidad del uso de "iso_fortran_env"? Lo siento, he escrito algunos grandes programas de Fortran y los pongo a trabajar, pero soy un poco novato en lo que respecta a los módulos intrínsecos y lo que aportan a la mesa. – rks171
Entre otras cosas, iso_fortran_env proporciona el valor "isostat_end" para probar si un código de retorno distinto de cero es de fin de archivo. Esto permite el uso del constructo "exit" en lugar de las etiquetas de declaración, como con "end = LineNumber". –