Fortran 如何将实数读入字符
我想对一个实数数组做一些算术运算,然后我必须把它作为字符变量的输入来读取。我使用了read语句,但我得到的错误如下 单位规格必须是整数或字符变量 我还验证了格式描述符。这是我的一段代码Fortran 如何将实数读入字符,fortran,fortran90,gfortran,Fortran,Fortran90,Gfortran,我想对一个实数数组做一些算术运算,然后我必须把它作为字符变量的输入来读取。我使用了read语句,但我得到的错误如下 单位规格必须是整数或字符变量 我还验证了格式描述符。这是我的一段代码 real::la(10), sl integer::i character(len=5)::lat character(len=7)::station sl=11.25 do i=1,10 la = sl+ (i*0.25) read(la(i),'(F5.2)')lat sta
real::la(10), sl
integer::i
character(len=5)::lat
character(len=7)::station
sl=11.25
do i=1,10
la = sl+ (i*0.25)
read(la(i),'(F5.2)')lat
station= lat//'xx'
end do
F5.2
格式指定正在读取real
值。lat是一个字符串。这两者不相容
最简单的修复方法是读取real
变量
或者,将格式更改为A
(表示字符串),然后使用F5.2
格式从lat
进行内部读取。当您
read(la(i),'(F5.2)') lat
您要求从装置la(i)
(外部文件)读取字符变量lat
。这不是你想要的,但也是错误的。这种错误会导致出现错误消息:单元号必须是整数
但是,将la
更正为整数并不是您想要做的事情
相反,您希望对字符变量lat
进行内部写入:
write(lat, '(F5.2)') la(i)
在循环中,指定给整个数组
la
。这就是你的意思吗?