Wie kann ich flush output-Datei nach jedem schreiben mit gfortran Fortran-90-Programm?
Ich arbeite mit einer Schleife in ein Fortran-90-Programm die Ausgabe der numerischen Werte in eine Ausgabedatei für jede iteration der Schleife. Das problem ist, dass die Ausgabe nicht in die Datei gespeichert, aber jeder so viele Schritte. Wie bekomme ich es Spülen, um jeden Schritt?
Beispiel-code:
open(unit=1,file='output')
do i = 1, 1000
write(1,*) i
end do
close(unit=1)
Vielen Dank im Voraus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den anderen Weg, wenn gfortran implementiert haben, ist zu nennen die nicht-standard-subroutine flush. Nicht alle Compiler tun, diese auch umzusetzen.
FLUSH
als ein Unterprogramm (wie incall FLUSH()
) ist flippig, aber dieFLUSH
Anweisung ist gültig, Fortran 2003:FLUSH (10)
Müssen Sie, um die Ausgabe Ungepuffert. Versuchen Sie, die GFORTRAN_UNBUFFERED_ALL die environment-variable 'y', 'Y' oder 1.
.bashrc
- Datei.Wenn ich muss erröten, dass ich nur die Datei schließen und erneut öffnen. Das ist umständlich und langsam, aber ich weiß nicht, einen besseren Weg in fortran 90 werde, die arbeiten mit allen Compilern.