Ich wurde damit beauftragt, einige alte (ca. 1986) VAX VMS FORTRAN-Codes nach C++ zu portieren und bin in ein kleines Stolperstein geraten. Die folgenden zwei Codezeilen sind Teil eines berechneten Goto.vms fortran Lese-/Schreibeinheitsbezeichnung
WRITE(2'N) (Y (I), I = 1, 5)
READ(2'N, ERR = 48) (Y (I), I = 1, 5)
Mein Problem ist der Einheitsbezeichner "2'N", wenn das tatsächlich so ist. "N" ist eine Integer-Variable, die an das Unterprogramm übergeben wird. Ich habe ziemlich viel nach diesem Muster gegoogelt und gelesen, welche VMS-Dokumentation ich finden konnte, konnte aber keine Informationen bezüglich dieses Musters mit dem Apostroph finden. Ich verstehe die implizite do-Schleife, die den Schreib- und Leseanweisungen folgt, aber ich verstehe nicht, wo und wohin ich schreibe. Wenn Sie den Rest des Fortran-Codes durchsuchen, wird keine offene Anweisung von unit = 2 angezeigt, die mit diesem Aufruf verknüpft werden könnte. Daher ist es wahrscheinlich keine Platten-Datei, aber ich bin mir nicht sicher. Ich hoffe, dass jemand hier zurück in ihre Erinnerung kommen und mir helfen kann.
Vielen Dank dafür! Es macht jetzt viel mehr Sinn. Danke auch für die Links zum Handbuch. Es gibt eine Stelle im Code, die eine Datei explizit als unit4, "ELIBn.DAT", öffnet, und der Speicherort des Dateiverzeichnisses enthält diese Dateien von 1 bis 9. Ich kann den Rest von hier aus herausfinden. –