Ich habe wird eine Lese-/Schreiboperation in dem Fortran-Code-Snippet auf alsÖffnen einer Datei auf Einheit 5 oder 6
OPEN(5,FILE='WKDAT.dat', STATUS='OLD')
OPEN(6,FILE='WKLST.dat', STATUS='UNKNOWN')
folgt Ich weiß, dass die Einheitsnummer 5 standardmäßig für die Eingabe von der Tastatur verwendet wird, und die Einheit Nummer 6 wird zur Anzeige auf dem Bildschirm verwendet. Auch ich kann *
verwenden.
Aber in der oben genannten Fortran-Code-Einheit ist Nummer 5 und ein Dateiname "WKDAT.dat" wird angegeben. Das bedeutet also, dass die Daten aus der Datei "WKDAT.dat" gelesen werden. Außerdem gibt es Code-Einheit Nummer 6 und ein Dateiname "WKLST.dat" wird angegeben. Das bedeutet also, dass die Daten in die Datei "WKLST.dat" geschrieben werden. Ist mein Verständnis korrekt?
Nach meinem grundlegenden Wissen: Einheit Nummer 5 wird nur verwendet, um Eingaben von der Tastatur & Einheit Nummer 6 wird nur für den Ausdruck auf der Konsole verwendet, so dass keine Dateien beteiligt sein sollten. Aber im Code-Snippet hat es sowohl die Nummer 5, 6 als auch den Dateinamen.
So sind beide im Widerspruch :(
In diesem Link http://www.oc.nps.edu/~bird/oc3030_online/fortran/io/io.html sie erwähnt haben folgendes: „Wenn I/O in eine Datei ist, müssen Sie eine UNIT Nummer ASSOZIIEREN (die Sie wählen) mit dem Dateinamen. Verwenden Sie jede Einheit andere Nummern als 5 und 6. Auf einigen Computern sind einige Gerätenummern für die Verwendung durch das Betriebssystem des Computers reserviert. "
"Die Einheit Nummer 5 wird nur verwendet, um Eingaben von der Tastatur zu empfangen." ... Diese Annahme ist falsch. 5 und 6 für Stdin und Stdout ist eine historische Praxis in Fortran, und die meisten Anfänger Buch betonen diese Praxis. Aber .... Es ist nur Übung, keine Notwendigkeit. – BaRud