如何在Fortran中像文件一样读取字符串
假设我有这样一个字符串:如何在Fortran中像文件一样读取字符串,fortran,Fortran,假设我有这样一个字符串: character(20) :: str="& &1.2 &
character(20) :: str="&
&1.2 &
&2. &
&3.32 &
&4.223 &
"
如何像文件一样读取字符串
例如,我试过
program main
implicit none
character(20) :: str="&
&1.2 &
&2. &
&3.32 &
&4.223 &
"
integer i
real a
do i=1,4
read(str,*) a
print*, a
end do
end program main
但我每次都只收到第一行
1.200000
1.200000
1.200000
1.200000
字符串中有四个
real
s,但将其读入一个实变量(四次)。因为每次从同一个字符串开始,总是得到相同的结果
也许您应该直接将字符串读入数组(无循环):
(您可以简单地写入
read(str,*)a
,给出的范围只是为了表明a
在这里是一个数组…您的字符串中有四个real
s,但您将其读入一个实变量(四次)。因为每次从同一个字符串开始,总是得到相同的结果
也许您应该直接将字符串读入数组(无循环):
(您可以简单地写入read(str,*)a
,给出的范围仅表示a
在这里是一个数组…)
real a(4)
read(str,*) a(1:4)