Ho lavorato con Fortran per anni, ma il file I/O è ancora confuso con me. La mia comprensione di status
, form
, access
, recl
è limitata, perché ho solo necessario alcuni casi di utilizzo in scuola elementare.
So che i file binari di Fortran hanno informazioni extra nella parte superiore del file che descrivono la dimensione del file. Ma questo non è mai stato un problema per me perché ho avuto a che fare solo con i file Fortran nel codice Fortran, dove le informazioni extra sono necessarie, ma invisibili.Apertura di file binari in Fortran: stato, modulo, accesso
Ma come posso aprire un file binario e piatto in Fortran?
In passato, potrei aprire un binario Fortran usando Fortran facendo qualcosa di simile a questo:
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
Ma come funziona questo cambiamento per un file flat, binario che non ha le informazioni di intestazione Fortran ? Ancora più importante, dove è un buon collegamento per descrivere questi termini in modo più dettagliato: status
, form
, access
, recl
?
Bene, quando dico binario "C++", intendo solo un file binario grezzo e piatto che è stato scritto da un programma C++. Il formato del file sarà ... qualunque cosa, un binario piatto pieno di righe e colonne di interi a 1 byte. Ovviamente, la mia principale preoccupazione è cercare di leggere un file binario in Fortran se il file non ha la solita intestazione Fortran. – theJollySin
Quindi qualsiasi linguaggio creato è completamente irrilevante e distrae dal tuo problema reale. Modificato e rimosso il tag C++. – Mat
Sembra giusto. L'ho inserito nel titolo e nel testo per sottolineare, si spera, che questi erano i soliti binari di Fortran che stavo cercando di leggere. Fintanto che è ancora chiaro, sono felice. – theJollySin