www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Englisch
  Status Grammatik
  Status Lektüre
  Status Korrekturlesen
  Status Übersetzung
  Status Sonstiges (Englisch)

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Fortran" - Einlesen von ASCII-Daten
Einlesen von ASCII-Daten < Fortran < Programmiersprachen < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Fortran"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Einlesen von ASCII-Daten: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 20:02 Mi 05.12.2007
Autor: O6elix

Abend schön,

ich bin zwar nicht wirklich bewandert in den Künsten der Programmierung, aber die Frage ist mir trotzdem etwas peinlich: Wie liest man ASCII-Daten in Fortran ein?

Ich hab hier eine Datei die ein Array (72 x 76) im ASCII-Format enthält. Das Format der Zahlen ist 10.8f (das ist doch in Fortran F10.8, oder?) und als Delimiter sind Kommata gewählt.
Wenn ich nun versuche, diese Datei mithilfe von Fortran einzulesen und scheitere kläglich. Was mach ich falsch? Wie mache ich es besser?

      PROGRAM ascii_bin

      implicit none

      INTEGER I,IE,J,JE
      PARAMETER(IE=72,JE=76)
      REAL DEPTU
      DIMENSION DEPTU(IE,JE)

      [mm] OPEN(36,FILE='tiefe_v.txt',STATUS='OLD', [/mm]
     & FORM='FORMATTED',ACCESS='SEQUENTIAL')

      DO J = 1, JE
       READ(36, 100 ) ( DEPTU(I,J), I = 1,IE )
      ENDDO
100  FORMAT('JE(F10.8)')

      STOP
      END

Insgesamt sollen später 10 verschiedene ASCIIs eingelesen  und in ein Binärfile geschrieben werden.

Danke schonmal,
O6elix


P.S.: Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

Dateianhänge:
Anhang Nr. 1 (Typ: txt) [nicht öffentlich]
        
Bezug
Einlesen von ASCII-Daten: Antwort
Status: (Antwort) fertig Status 
Datum: 00:03 Do 06.12.2007
Autor: rainerS

Hallo O6elix!

> ich bin zwar nicht wirklich bewandert in den Künsten der
> Programmierung, aber die Frage ist mir trotzdem etwas
> peinlich: Wie liest man ASCII-Daten in Fortran ein?
>  
> Ich hab hier eine Datei die ein Array (72 x 76) im
> ASCII-Format enthält. Das Format der Zahlen ist 10.8f (das
> ist doch in Fortran F10.8, oder?) und als Delimiter sind
> Kommata gewählt.
> Wenn ich nun versuche, diese Datei mithilfe von Fortran
> einzulesen und scheitere kläglich. Was mach ich falsch? Wie
> mache ich es besser?

Zwei Tipps: erstens bin ich mir ziemlich sicher, dass der Parameter JE in der Formatanweisung nicht durch 76 ersetzt wird, weil er in einer Zeichenkettenkonstanten auftritt.

Zweitens bietet sich für das Einlesen dieser Daten list-directed formatting an:

READ(36, * ) ( DEPTU(I,J), I = 1,IE ) 

Referenz: []http://www.fortran.com/F77_std/rjcnf-13.html#sh-13.6

Eine etwas leichter lesbare Beschreibung habe ich []hier gefunden.

Wenn du unbedingt ein Format benutzen willst, musst du über die Kommas hinweg positionieren; das müsste mit

  100  FORMAT('76(F10.8,1X)') 

funktionieren. (Bin mir aber nicht ganz sicher, es ist ewig her, dass ich Fortran programmiert habe).

Viele Grüße
   Rainer


Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Fortran"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.englischraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]