Array von Strings in Fortran 77

Ich habe eine Frage zu Fortran-77, und ich habe nicht in der Lage gewesen, eine Lösung zu finden.

Ich versuche zu speichern, ein array von strings wie folgt definiert:

character matname(255)*255

Wich ist ein array von 255 strings der Länge 255.

Später Las ich die Liste von Namen aus einer Datei und ich den Inhalt des array wie dieses:

matname(matcount) = mname

EDIT: Eigentlich mname Wert ist harcoded als mname = 'AIR' Typ character*255 es ist ein parameter von einer Funktion matadd() wich führt der vorherigen Zeile. Aber das ist nur für die Prüfung, in der Zukunft wird es sein, aus einer Datei gelesen.

Später möchte ich es drucken mit:

write(*,*) matname(matidx)

Aber es scheint zu drucken alle 255 Zeichen, es druckt den string, der ich zugewiesen und eine Menge Müll.

  • So, dass ist meine Frage, wie kann ich wissen, die Länge des Strings gespeichert?
  • Sollte, habe ich ein weiteres array mit allen Längen?
  • Und wie kann ich wissen, die Länge der Zeichenfolge Lesen?

Dank.

  • +1 - Fortran? sind Sie ernst?
  • Warum nicht ?
InformationsquelleAutor Siu | 2009-04-07
Schreibe einen Kommentar