'da virgülle ayrılmış metin dosyası satırlarını okuyarak bir Fortran acentasıyım. Bir metin dosyasını okuyabilmek ve içeriğini bireysel değişkenlere kaydedebilmek istiyorum. Çok yararlı bir Fortran öğreticisi (http://www.math.hawaii.edu/~hile/fortran/fort7.htm#read) buldum ve orada listelenen örneklerden birini takip etmeye çalışıyorum. Benim şimdiki dizinde Bu metin dosyasını kaydetmişFortran
1.23, 4.56, 7.89
11, 13, "Sally"
: Özellikle, adlı bir metin dosyası aşağıdaki metinle data.txt yaptı. Sonra, bir dosyası oluşturduk test.f90 içeren aşağıdaki kodu (aynı zamanda benim geçerli dizinde kaydederek):
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
Ben gelene kadar en azından özellikleri içerir düşünüyorum GNU Fortran derleyicisi, kullanıyorum Fortran95 dahil ve dahil. Yukarıdaki kod, en azından varsayılan ayarlarla tamam derlenmiş gibi görünüyor). Ben Oluşan yürütülebilir çalıştırdığınızda Ama bu hata mesajını alıyorum:
At line 10 of file test.f90 (unit = 7, file = 'data.txt')
Fortran runtime error: End of file
Hat 10 hat OKU (7, *) m, n, ilk. Yukarıdaki kodda yanlış yaptığımı görmeme yardım edebilir misiniz?
Başka bir birim numarasıyla deneyin (> 10). Belki de derleyiciniz önceden bağlı bir cihaz için birim 7 kullanır. – eriktous
@eriktous: Zaman ayırdığınız için çok teşekkür ederim, ancak maalesef bu sorunu çözmüyor (en azından 15 birim kullandığımda). Yine de tavsiye için teşekkür ederim; Önceden ayarlanmış cihazlar için derleyici tarafından 10 veya daha az birimin kullanılabileceğini bilmek gerçekten çok güzel. Bunu aklımda tutacağım. Teşekkürler! – Andrew