gpt4 book ai didi

io - 从以 `` 结尾的文件中读取整数,完成格式化数据传输的格式丢失``

转载 作者:行者123 更新时间:2023-12-02 08:40:30 25 4
gpt4 key购买 nike

我正在根据需要更新 Fortran 程序。该程序使用 f95gcc 版本 4.1.2 编译(我知道它很旧,但我不能更新它)。我想从文件中读取参数,我尝试通过

      inquire (file="resLast", exist=resExist)
if (readStart.eq.1.and.resExist) then
open (unit=18,file='resLast', status='old', action='read')
read (18) startConf
read (18) avlength, stdlength, avenergy
read (18) i,h2(1)
read (18) i,h2(2)
read (18) i,h2(4)
read (18) i,h2(5)
read (18) i,h2(8)
read (18) i,h2(9)
read (18) i,h2(13)
read (18) i,h2(16)
read (18) i,h2(17)
read (18) i,h2(18)
read (18) i,h2(20)
read (18) i,h2(25)
read (18) i,h2(32)
close (18)
else
startConf = 0
do i=1,32
h2(i)=0
comh2(i)=0
enddo
avlength=0d0
stdlength=0d0
avenergy=0d0
endif

输入文件看起来像

           0
196.090732114834 38451.5752213317 53.4452884569457
1 9.188750409521163E-004
2 4.548226133920252E-004
4 8.704101492185146E-005
5 2.175445697503164E-004
8 4.992044341634028E-005
9 2.108949411194772E-005
13 4.304789035813883E-005
16 4.693072696682066E-005
17 8.976260141935199E-005
18 2.737747854553163E-005
20 5.637826689053327E-005
25 3.860405195155181E-005
32 3.193027441739105E-005

当我尝试运行它时出现错误

Fortran runtime error: Missing format for FORMATTED data transfer
done

它指向第一个 read 行。 startConf 变量和 i`` 都是一个整数。其余变量是 double 的。

我以前使用这种方法将数据读入整数(即使在相同的代码中)也没有问题,我现在的错误在哪里?

最佳答案

由于您没有明确指定,您的 open 语句假定一个 formatted(文本)文件。从文本文件读取时,您还必须提供一种格式:

read(18, *) i1

或者,如果您的文件未格式化(二进制),相应地打开您的文件:

 open (unit=18, file='resLast', status='old', action='read', form='unformatted')

关于io - 从以 `` 结尾的文件中读取整数,完成格式化数据传输的格式丢失``,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16894304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com