假设我有一个像这样的字符串:
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
字符串中有四个,但是将其读入一个实数变量(四次)。因为每次以相同的字符串开头,您总是会得到相同的结果。
也许您应该将字符串直接读入数组(无循环):
real a(4)
read(str,*) a(1:4)
(您可以简单地编写read(str,*) a
,只是给出范围以指示a
此处是一个数组...)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句