错误:Fortran 格式字符串中的格式字符串意外结束

发布于 2024-09-26 08:13:17 字数 503 浏览 7 评论 0原文

尝试从 Fortran 77 程序编译复制的代码时出现此错误。

代码:

900 FORMAT(1H0,2X,'ABSOLUTE GRID LIMITS FOR DATA RETENTION FOR RADAR',I3,' XMIN-XMAX ',2F8.3,' YMIN-YMAX ',2F8.3,' ZMAX ',F8.3, /3X,'WITH AZIMUTH LIMITS OF',2F8.2, 3X,'AND RANGE LIMITS OF',2F10.3,/)

编译器错误:

messy21.f90:529.132:

N FOR RADAR',I3,' XMIN-XMAX ',2F8.3,' YMIN-YMAX ',2F8.3,' ZMAX ',F8.3, /3X,(1)

Error: Unexpected end of format string in format string at (1)

我不确定该错误意味着什么。

Getting this error while trying to compile a copied code from a Fortran 77 program.

code:

900 FORMAT(1H0,2X,'ABSOLUTE GRID LIMITS FOR DATA RETENTION FOR RADAR',I3,' XMIN-XMAX ',2F8.3,' YMIN-YMAX ',2F8.3,' ZMAX ',F8.3, /3X,'WITH AZIMUTH LIMITS OF',2F8.2, 3X,'AND RANGE LIMITS OF',2F10.3,/)

compiler error:

messy21.f90:529.132:

N FOR RADAR',I3,' XMIN-XMAX ',2F8.3,' YMIN-YMAX ',2F8.3,' ZMAX ',F8.3, /3X,(1)

Error: Unexpected end of format string in format string at (1)

I am not sure what the error means.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

隔纱相望 2024-10-03 08:13:17

我的猜测(根据行 132 中的错误位置)是:从 Fortran 90 开始,我们使用自由源格式(自由格式源输入)。每行最多可包含 132 个字符。如果您的语句更大,您可以使用最多 39 个(当前 Fortran 2003 标准中为 255 个)延续行。 Fortran 77 使用固定源形式,这只是另一个故事。

使用所谓的继续标记 (&) 来分隔很长的FORMAT 语句,即

900 FORMAT(1H0,2X,'ABSOLUTE GRID LIMITS FOR DATA RETENTION FOR RADAR',I3,' XMIN-XMAX ',2F8.3,' YMIN-YMAX ',2F8.3,' ZMAX ',F8.3, &
/3X,'WITH AZIMUTH LIMITS OF',2F8.2, 3X,'AND RANGE LIMITS OF',2F10.3,/)

阅读一些Fortran 90/95/2003 书籍或Fortran 标准的相关部分。例如,在 Fortran 2003 标准中(最终委员会草案,PDF,5MB )“3.3 源表格”部分包含相关信息。

My guess (on the basis of error position in the line, 132) would be: starting from Fortran 90 we use free source form (free-form source input). Each line may contain up to 132 character. And if your statement is even bigger you can use up to 39 (255 in current Fortran 2003 standard) continuation lines. Fortran 77 used fixed source form which is just another story.

Use so-called continuation mark (&) to divide your very long FORMAT statement, i.e.

900 FORMAT(1H0,2X,'ABSOLUTE GRID LIMITS FOR DATA RETENTION FOR RADAR',I3,' XMIN-XMAX ',2F8.3,' YMIN-YMAX ',2F8.3,' ZMAX ',F8.3, &
/3X,'WITH AZIMUTH LIMITS OF',2F8.2, 3X,'AND RANGE LIMITS OF',2F10.3,/)

Read some Fortran 90/95/2003 book or associated section of Fortran standard. For example, in Fortran 2003 Standard (Final Committee Draft, PDF, 5MB) section "3.3 Source form" contains relevant information.

演出会有结束 2024-10-03 08:13:17

你的线太长了。

在自由格式文件 (.f90) 中,您只能使用 132 个字符行。您可以中断当前行并继续下一行。输入 & 字符
在继续下一行之前。

在固定格式 Fortran (.f .for) 中,您只能使用 72 个字符行。您可以中断当前行并继续下一行。将任意字符放入当前行的第五列。

有一些编译器选项可以放宽这些限制。

Your line is too long.

In free form files (.f90) you can only use 132 character lines. You can break your line and continue on the next line. Put & character
at the end of the line before continuing on the next line.

In fixed form Fortran (.f .for) you can only use 72 character lines. You can break your line and continue on the next line. Put any character to the fifth column on the present line.

There are compiler options which can loosen these restrictions.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文