next up previous contents
Nächste Seite: Programmeinheiten und Anweisungen Aufwärts: Erweiterte Ein-/Ausgabe Vorherige Seite: Externe Ein-/Ausgabe   Inhalt

Interne Ein-/Ausgabe

Die interne Ein-/Ausgabe ermöglicht den Datentransport von einem Bereich des Arbeitsspeichers zu einem anderen, ohne Benutzung von E/A-Geräten oder externer Speichermedien und erlaubt gleichzeitig die Änderung der Darstellung, z.B. Umwandlung numerischer Daten in Zeichendaten und umgekehrt. Interne Ein-/Ausgabe wird nur mit formatgebundenen READ- und WRITE-Anweisungen vorgenommen und verwendet Variablen vom Typ CHARACTER als ,,interne Dateien``. Diese enthalten einen einzigen Datensatz; Positionierungs- und Statusanweisungen sind daher für interne Dateien sinnlos. Bei der Ausgabe werden die Daten der Formatangabe entsprechend in Zeichen umgewandelt (wie auch bei externen formatierten Dateien) und in der Zeichengröße gespeichert. Bei der Eingabe werden die Zeichen der internen Datei der Formatangabe entsprechend konvertiert und an die in der Eingabeliste stehenden Größen übergeben.

Beispiel:

         CHARACTER (LEN=20) :: IntDat   
         INTEGER :: NR, Neu
         IntDat = 'Dies sind 20 Zeichen' 
         READ (IntDat, 100) NR   
         WRITE (*,100) NR   
     100 FORMAT (10X, I2)   
         Neu = 99   
         WRITE (IntDat(11:12), 102) Neu   
     102 FORMAT (I2)   
         PRINT*, IntDat

erzeugt die Ausgabe

Spalten: 12345678901234567890
                   20      
         Dies sind 99 Zeichen



Lars Tornow 2003-03-31