ubuntu

Ubuntu下Fortran如何进行文件操作

小樊
45
2025-07-11 12:34:17
栏目: 智能运维

在Ubuntu下使用Fortran进行文件操作,你可以使用Fortran的内置I/O库。以下是一个简单的示例,展示了如何在Fortran中打开、读取和关闭一个文本文件:

program file_io_example
    implicit none
    integer :: iounit, iostat, ios
    character(len=100) :: filename
    real :: data

    ! 设置文件名
    filename = 'example.txt'

    ! 打开文件
    open(unit=iounit, file=filename, status='old', action='read', iostat=ios)
    if (ios /= 0) then
        print *, 'Error opening file:', ios
        stop
    end if

    ! 读取文件中的数据
    read(iounit, *, iostat=ios) data
    while (ios == 0)
        print *, 'Read data:', data
        read(iounit, *, iostat=ios) data
    end do

    ! 关闭文件
    close(iounit)

end program file_io_example

在这个示例中,我们首先定义了一个整数变量iounit用于存储文件单元号,一个整数变量iostat用于存储I/O操作的状态,一个字符变量filename用于存储文件名,以及一个实数变量data用于存储从文件中读取的数据。

接下来,我们使用open语句打开一个名为example.txt的文件。unit=iounit表示我们将使用iounit作为文件单元号,file=filename表示我们要打开的文件名,status='old'表示文件已经存在,action='read'表示我们要从文件中读取数据,iostat=ios表示我们将把I/O操作的状态存储在ios变量中。

如果ios不等于0,说明打开文件时出现了错误,我们打印错误信息并停止程序。

然后,我们使用read语句从文件中读取数据。read(iounit, *, iostat=ios) data表示我们从iounit文件单元中读取数据并存储在data变量中。如果ios等于0,说明读取成功,我们打印读取到的数据。然后继续读取下一个数据,直到ios不等于0,表示文件已经读取完毕。

最后,我们使用close语句关闭文件。

注意:在编译Fortran程序时,确保使用支持文件操作的编译器,如gfortran。编译示例程序的命令如下:

gfortran -o file_io_example file_io_example.f90

然后运行生成的可执行文件:

./file_io_example

0
看了该问题的人还看了