我需要阅读这种文件。我在阅读文件中的分隔符时遇到问题。
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
...
答案 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