Wie spüe ich die Ausgabe in die Datei nach jedem Schreiben mit einem Gfortran Fortran 90 Programm?

8

Ich führe eine Schleife in einem Fortran 90-Programm aus, das numerische Werte für jede Iteration der Schleife in eine Ausgabedatei ausgibt. Das Problem ist, dass die Ausgabe nicht in der Datei gespeichert wird, sondern in so vielen Schritten. Wie bekomme ich es, um jeden Schritt zu spülen?

Beispielcode:

%Vor%

Vielen Dank im Voraus.

    
banDedo 07.10.2009, 19:36
quelle

3 Antworten

6

Umgekehrt, wenn gfortran es implementiert, wird die Nicht-Standard-Subroutine flush aufgerufen. Nicht alle Compiler implementieren dies.

    
High Performance Mark 08.10.2009, 12:13
quelle
12

Sie müssen den Ausgang ungepuffert machen. Versuchen Sie, die Umgebungsvariable GFORTRAN_UNBUFFERED_ALL festzulegen zu 'y', 'Y' oder 1.

    
ire_and_curses 07.10.2009 19:49
quelle
0

Wenn ich spülen muss, schließe ich einfach die Datei und öffne sie erneut. Das ist ungeschickt und langsam, aber ich kenne keinen besseren Weg in Fortran 90, der mit allen Compilern funktioniert.

    
user152979 26.12.2009 04:45
quelle

Tags und Links