0

在使用商业程序 (Abaqus) 执行我的 Fortran 子例程期间出现错误。我使用了一些写语句将结果打印到外部文本文件。例如将一些整数值打印到已经存在的文件中:

OPEN(UNIT=304,FILE="full_path_to_file/outputs.txt",position="append")
WRITE(304,*) KINC,NOEL,NPT

我收到此错误:

UNRECOVERABLE error on system request
lib-2: No such file or directory
Encountered during an OPEN of unit 101
Fortran unit 101 is not connected

我调查了文档,并在互联网上进行了很多谷歌搜索,关于这lib-2件事,以及 Fortran 输出文件单元,但没有成功。此外,我更改了单元号,但此错误与特定单元号无关。如果有这方面知识的人能给我一些关于这个错误的起源以及如何解决它的提示,我将非常感激。

谢谢!
穆本。

4

2 回答 2

0

lib-2 不是标准的,它只是编译器特定的东西(你没有提到你的编译器)。文件是否存在?你有正确的工作目录吗?如果你试试

OPEN(UNIT=304,FILE="full_path_to_file/outputs.txt",status="replace")

,您应该会看到出现新文件的位置,这就是您应该放置文件以追加到其中的位置。

于 2013-02-09T13:47:59.393 回答
0

您的代码片段显示了对 Fortran 单元 304 的写入,但错误消息与 Fortran 单元 101 有关。编译器对最大可能的单元号有特定的限制。也许 304 对于您的编译器来说太大了。或者其他地方的代码是否使用单元 101?查找使用单元号 101 的 open 语句,并查看该 open 语句试图打开的文件。编译器是否通知您导致问题的语句的行号?

PS回应评论:如果将写入更改为“写入(*,*)”会发生什么?那么这个程序有用吗?如果是这样,则表明 open 语句存在问题。您确定文件的路径正确吗?该程序有权写入该目录吗?尝试删除路径并在当前目录中打开一个文件。如果您可以访问其他 Fortran 编译器,请尝试一下,看看它是否为您提供了更有用的错误消息。

于 2013-02-09T16:53:21.383 回答