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.
Umgekehrt, wenn gfortran es implementiert, wird die Nicht-Standard-Subroutine flush aufgerufen. Nicht alle Compiler implementieren dies.
Sie müssen den Ausgang ungepuffert machen. Versuchen Sie, die Umgebungsvariable GFORTRAN_UNBUFFERED_ALL festzulegen zu 'y', 'Y' oder 1.
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.