मैं फोर्ट्रान के साथ वर्षों से काम कर रहा हूं, लेकिन फ़ाइल I/O अभी भी मेरे लिए आलसी है। status
, form
, access
, recl
की मेरी समझ सीमित है, क्योंकि मैं केवल आवश्यक ग्रेड स्कूल में कुछ उपयोग-मामलों की आवश्यकता है।
मुझे पता है कि फोरट्रान बाइनरी फ़ाइलों में फ़ाइल के आकार का वर्णन करने वाली फ़ाइल के शीर्ष पर अतिरिक्त जानकारी है। लेकिन इससे पहले कभी मेरे लिए कोई मुद्दा नहीं रहा है क्योंकि मुझे केवल फोरट्रान कोड में फोरट्रान फाइलों से निपटना पड़ा है, जहां अतिरिक्त जानकारी जरूरी है, लेकिन अदृश्य है।फोरट्रान में बाइनरी फाइलें खोलना: स्थिति, फॉर्म, एक्सेस
लेकिन मैं फोरट्रान में एक फ्लैट, बाइनरी फ़ाइल कैसे खोलूं?
अतीत में, मैं कुछ इस तरह कर रही द्वारा एक फोरट्रान द्विआधारी फोरट्रान का उपयोग कर खुला हो सकता है:
open(id,file=file_name,status='old',
+ form='unformatted',access='direct',recl=4,iostat=ok)
if (ok .ne. 0) then
write(1,20) id,ok,file_name
else
write(1,21) id,file_name
लेकिन यह कैसे कि फोरट्रान हेडर सूचना नहीं है एक फ्लैट, बाइनरी फ़ाइल के लिए यह परिवर्तन करता है ? सबसे महत्वपूर्ण बात यह है कि इन शर्तों का अधिक विस्तार से वर्णन करने के लिए एक अच्छा लिंक कहां है: status
, form
, access
, recl
?
ठीक है, जब मैं "सी ++" बाइनरी कहता हूं, तो मेरा मतलब सिर्फ एक कच्ची, सपाट बाइनरी फ़ाइल है जो सी ++ प्रोग्राम द्वारा लिखी गई है। फ़ाइल प्रारूप ... जो कुछ भी होगा, 1-बाइट पूर्णांक की पंक्तियों और स्तंभों से भरा एक फ्लैट बाइनरी। जाहिर है, मेरी प्रमुख चिंता फोरट्रान में एक बाइनरी फ़ाइल पढ़ने की कोशिश कर रही है अगर फ़ाइल में सामान्य फोरट्रान हेडर नहीं है। – theJollySin
फिर जो भी भाषा बनाई गई वह पूरी तरह से अप्रासंगिक है और आपकी वास्तविक समस्या से परेशान है। उसमें संपादित किया गया, और सी ++ टैग हटा दिया गया। – Mat
यह उचित लगता है। मैंने शीर्षक और पाठ में आशा व्यक्त की कि ये सामान्य फोर्ट्रान बाइनरी थे जिन्हें मैं पढ़ने की कोशिश कर रहा था। जब तक यह अभी भी स्पष्ट है, मैं खुश हूं। – theJollySin