में अल्पविराम-सीमित टेक्स्ट फ़ाइल लाइन-दर-पंक्ति पढ़ना मैं एक फोरट्रान नौसिखिया हूं। मैं एक टेक्स्ट फ़ाइल को पढ़ने और व्यक्तिगत चर में अपनी सामग्री को सहेजने में सक्षम होना चाहता हूं। मुझे एक बहुत ही उपयोगी फोरट्रान ट्यूटोरियल (http://www.math.hawaii.edu/~hile/fortran/fort7.htm#read) मिला, और मैं वहां सूचीबद्ध उदाहरणों में से एक का पालन करने की कोशिश कर रहा हूं।फोरट्रान
1.23, 4.56, 7.89
11, 13, "Sally"
मैं अपने वर्तमान निर्देशिका में इस पाठ फ़ाइल सहेज लें: विशेष रूप से, मैं कहा जाता है एक पाठ फ़ाइल निम्न पाठ के साथ data.txt बनाया है। फिर, मैं एक फ़ाइल बनाया है test.f90 (भी मेरे वर्तमान निर्देशिका में यह बचत) युक्त निम्नलिखित कोड:
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
मैं जीएनयू फोरट्रान संकलक, जो मुझे लगता है कि ऊपर कम से कम विशेषताएं शामिल उपयोग कर रहा हूँ फोरट्रान 9 5 सहित। उपरोक्त कोड कम से कम डिफ़ॉल्ट सेटिंग्स के साथ संकलित करने के लिए प्रतीत होता है)। लेकिन जब मैं जिसके परिणामस्वरूप निष्पादन योग्य चलाने के लिए, मैं इस त्रुटि संदेश मिलता है:
At line 10 of file test.f90 (unit = 7, file = 'data.txt')
Fortran runtime error: End of file
रेखा 10 लाइन पढ़ें (7, *) मी, एन, पहले है। क्या आप कृपया मुझे यह देखने में मदद कर सकते हैं कि मैं उपरोक्त कोड में क्या गलत कर रहा हूं?
इसे किसी अन्य इकाई संख्या (> 10) के साथ आज़माएं। शायद आपका कंपाइलर प्रीकनेक्टेड डिवाइस के लिए यूनिट 7 का उपयोग करता है। – eriktous
@eriktous: आपके समय के लिए बहुत बहुत धन्यवाद, लेकिन दुर्भाग्यवश यह समस्या को ठीक नहीं करता है (कम से कम जब मैं 15 की इकाई का उपयोग करता हूं)। सलाह के लिए धन्यवाद, यद्यपि; यह जानना वाकई अच्छा है कि 10 या उससे कम की इकाइयों का उपयोग प्रीकनेक्टेड उपकरणों के लिए कंपाइलर द्वारा किया जा सकता है। मैं इसे ध्यान में रखूंगा। धन्यवाद! – Andrew