Warm tip: This article is reproduced from serverfault.com, please click

Reading data file in Fortran with known number of lines but unknown number of entries in each line

发布于 2011-09-06 01:50:50

How can I read the data file containing known number of lines but the number of entries in each line is unknown, e.g. if my data file contain some thing like

1 3 4 5 6 -7 8 -9

1 3 5 6

4 5 6 7 8 3 5 6 7 8 4 5 7 8

i.e. three lines but the data in each line is unknown. At one time I need the data from one line.

Questioner
Zahur
Viewed
0
M. S. B. 2011-09-06 13:06:46

One method: read the line into a string, using a string that is at least as long as the longest expected line. Then you go about parsing the string. E.g., if the numbers are always split by spaces, use that to figure out the substring boundaries. Then you can use "internal reads" to read from each sub-string to obtain the numeric values. An internal read uses a string instead of a unit number and obtains the data from the string -- at least you don't have to recreate the conversion of characters to numeric values, the read statement will do that for you. The intrinsic functions provided with Fortran will make the parsing easier.