unformatted I/O to unit open for formatted transfers, unit 1, file D:\6termsx\qhyc\sx34\hgt500.grd怎么解决
时间: 2024-06-03 07:13:27 浏览: 10
这个错误通常是因为你试图使用格式化传输打开一个已经用于未格式化传输的文件单位。你可以尝试在打开文件之前使用“close(unit)”命令关闭该文件,然后再打开一个新的文件单位进行格式化传输。你也可以尝试使用“rewind(unit)”命令将文件指针指向文件的开头,然后再进行格式化传输。如果这些方法都无法解决问题,那么你可能需要检查文件是否存在或者是否有读写权限。
相关问题
OPEN(UNIT=13,FILE=FILEOP,ACCESS='DIRECT',FORM='UNFORMATTED', $ RECL=NOEVT1,STATUS='OLD')
这是一个Fortran 95中打开文件的示例代码。该代码使用了`OPEN`语句来打开一个文件,具体参数如下:
- `UNIT=13`:指定文件的逻辑单元号为13。逻辑单元号是用来标识文件的唯一整数值。
- `FILE=FILEOP`:指定要打开的文件名为`FILEOP`。你可以将`FILEOP`替换为你要打开的文件的实际路径和名称。
- `ACCESS='DIRECT'`:指定文件的访问模式为直接访问模式。直接访问模式允许在文件中随机访问记录。
- `FORM='UNFORMATTED'`:指定文件的格式为无格式。无格式意味着文件中的数据以二进制形式存储,没有特定的格式要求。
- `RECL=NOEVT1`:指定每个记录的长度为`NOEVT1`。你可以将`NOEVT1`替换为你需要的记录长度。
- `STATUS='OLD'`:指定文件的状态为旧文件。旧文件意味着文件已经存在并且可以被读取。
请注意,这只是一个示例代码,你需要根据实际情况修改参数以适应你的程序需求。另外,确保在使用`OPEN`语句之后进行相应的错误处理和关闭文件操作。
怎么处理报错apparent state: unit 10 lately writing direct unformatted external IO
这个错误消息通常是在程序中使用了格式错误的输入/输出语句导致的。具体地说,可能是使用了不正确的I/O格式或试图读取/写入不存在的文件。
要解决这个问题,可以尝试以下几个步骤:
1. 检查程序中的I/O语句,确保格式正确。
2. 确保读写的文件存在且具有正确的读写权限。
3. 检查代码中的其他可能导致此错误的因素,例如变量未初始化或数组越界等。
如果以上步骤无法解决问题,您可能需要进一步调试程序以确定问题的根本原因。