与fortran读取分隔符

时间:2014-05-07 11:48:12

标签: fortran delimiter

我需要阅读这种文件。我在阅读文件中的分隔符时遇到问题。

XXXX

日/月/年

文本

文本

角度

分数

-13.82 | 654781.695 | 292510.337 | 4.889 | SD

0.00 | 654795.515 | 292510.337 | 4.373 | P1

1.25 | 654796.765 | 292510.337 | 4.324 | SD

1.29 | 654796.805 | 292510.337 | 4.657 | SD

1.68 | 654797.195 | 292510.337 | 4.622 | SD

...

1 个答案:

答案 0 :(得分:1)

(1)使用"(a)"将文件中的行读入字符串格式。

(2)用Fortran识别的分隔符(空格或逗号)替换字符串中不需要的分隔符。

(3)使用"内部读取"。

从字符串中获取数据

以下程序说明了步骤(2)和(3)。

program main
implicit none
character (len=20) :: str
integer            :: i
real               :: x,y
str = "321.1|5678.9"
do i=1,len_trim(str)
   if (str(i:i) == "|") str(i:i) = " "
end do
print*,"str = '" // trim(str) // "'"  ! output: '321.1 5678.9'
read (str,*) x,y
print*,"x, y =",x,y ! output: x, y = 321.1 5678.9
end program main