Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Fortran 如何将实数读入字符_Fortran_Fortran90_Gfortran - Fatal编程技术网

Fortran 如何将实数读入字符

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

我想对一个实数数组做一些算术运算,然后我必须把它作为字符变量的输入来读取。我使用了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
   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
。这就是你的意思吗?