fortran循环读取文件
时间: 2023-10-26 08:07:11 浏览: 335
在Fortran中,循环读取文件可以使用DO WHILE或DO UNTIL循环结构。在循环中,使用READ语句读取文件中的数据,并使用IOSTAT子句检查读取是否成功。如果读取成功,则可以对数据进行处理,否则可以退出循环或进行错误处理。下面是一个简单的示例代码:
```
PROGRAM readfile
IMPLICIT NONE
INTEGER :: iostat, i
REAL :: value
CHARACTER(LEN=20) :: filename
INTEGER :: unit
WRITE(*,*) 'Please enter input file name:'
READ(*,*) filename
OPEN(UNIT=unit, FILE=filename, STATUS='OLD', ACTION='READ', IOSTAT=iostat)
IF (iostat /= 0) THEN
WRITE(*,*) 'Error opening file: IOSTAT =', iostat
STOP
END IF
i = 0
DO WHILE (iostat == 0)
READ(unit, *, IOSTAT=iostat) value
IF (iostat == 0) THEN
i = i + 1
WRITE(*, '(A,I2,":Value = ",F6.4)') 'Line ', i, value
! 进行数据处理
END IF
END DO
IF (iostat /= -1) THEN
WRITE(*,*) 'An error occurred reading file: IOSTAT =', iostat
ELSE
WRITE(*,*) 'End of file reached. There were', i, 'values in the file.'
END IF
CLOSE(unit)
END PROGRAM readfile
```
在上面的代码中,使用OPEN语句打开文件,并使用DO WHILE循环读取文件中的数据。在循环中,使用READ语句读取数据,并使用IOSTAT子句检查读取是否成功。如果读取成功,则可以对数据进行处理,否则可以退出循环或进行错误处理。在循环结束后,使用CLOSE语句关闭文件。
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://img-home.csdnimg.cn/images/20250102104920.png)
![](https://img-home.csdnimg.cn/images/20250102104920.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)