stdlib_io 模块

提供对文件处理的支持 (规范)



变量

类型 可见性 属性 名称 初始
character(len=*), public, parameter :: FMT_COMPLEX_DP = '(es24.16e3,1x,es24.16e3)'

每种类型和类型的编辑描述符的格式字符串 (规范) 整数格式字符串 单精度实数格式字符串 双精度实数格式字符串 扩展双精度实数格式字符串 四精度实数格式字符串 单精度复数格式字符串 双精度复数格式字符串 扩展双精度复数格式字符串 四精度复数格式字符串

character(len=*), public, parameter :: FMT_COMPLEX_QP = '(es44.35e4,1x,es44.35e4)'

每种类型和类型的编辑描述符的格式字符串 (规范) 整数格式字符串 单精度实数格式字符串 双精度实数格式字符串 扩展双精度实数格式字符串 四精度实数格式字符串 单精度复数格式字符串 双精度复数格式字符串 扩展双精度复数格式字符串 四精度复数格式字符串

character(len=*), public, parameter :: FMT_COMPLEX_SP = '(es15.8e2,1x,es15.8e2)'

每种类型和类型的编辑描述符的格式字符串 (规范) 整数格式字符串 单精度实数格式字符串 双精度实数格式字符串 扩展双精度实数格式字符串 四精度实数格式字符串 单精度复数格式字符串 双精度复数格式字符串 扩展双精度复数格式字符串 四精度复数格式字符串

character(len=*), public, parameter :: FMT_COMPLEX_XDP = '(es26.18e3,1x,es26.18e3)'

每种类型和类型的编辑描述符的格式字符串 (规范) 整数格式字符串 单精度实数格式字符串 双精度实数格式字符串 扩展双精度实数格式字符串 四精度实数格式字符串 单精度复数格式字符串 双精度复数格式字符串 扩展双精度复数格式字符串 四精度复数格式字符串

character(len=*), public, parameter :: FMT_INT = '(i0)'

每种类型和类型的编辑描述符的格式字符串 (规范) 整数格式字符串 单精度实数格式字符串 双精度实数格式字符串 扩展双精度实数格式字符串 四精度实数格式字符串 单精度复数格式字符串 双精度复数格式字符串 扩展双精度复数格式字符串 四精度复数格式字符串

character(len=*), public, parameter :: FMT_REAL_DP = '(es24.16e3)'

每种类型和类型的编辑描述符的格式字符串 (规范) 整数格式字符串 单精度实数格式字符串 双精度实数格式字符串 扩展双精度实数格式字符串 四精度实数格式字符串 单精度复数格式字符串 双精度复数格式字符串 扩展双精度复数格式字符串 四精度复数格式字符串

character(len=*), public, parameter :: FMT_REAL_QP = '(es44.35e4)'

每种类型和类型的编辑描述符的格式字符串 (规范) 整数格式字符串 单精度实数格式字符串 双精度实数格式字符串 扩展双精度实数格式字符串 四精度实数格式字符串 单精度复数格式字符串 双精度复数格式字符串 扩展双精度复数格式字符串 四精度复数格式字符串

character(len=*), public, parameter :: FMT_REAL_SP = '(es15.8e2)'

每种类型和类型的编辑描述符的格式字符串 (规范) 整数格式字符串 单精度实数格式字符串 双精度实数格式字符串 扩展双精度实数格式字符串 四精度实数格式字符串 单精度复数格式字符串 双精度复数格式字符串 扩展双精度复数格式字符串 四精度复数格式字符串

character(len=*), public, parameter :: FMT_REAL_XDP = '(es26.18e3)'

每种类型和类型的编辑描述符的格式字符串 (规范) 整数格式字符串 单精度实数格式字符串 双精度实数格式字符串 扩展双精度实数格式字符串 四精度实数格式字符串 单精度复数格式字符串 双精度复数格式字符串 扩展双精度复数格式字符串 四精度复数格式字符串


接口

public interface getline

从格式化单元读取整行到字符串变量

  • private subroutine getline_char(unit, line, iostat, iomsg)

    从格式化单元读取整行到延迟长度字符变量

    参数

    类型 意图可选 属性 名称
    integer, intent(in) :: unit

    格式化 IO 单元

    character(len=:), intent(out), allocatable :: line

    要读取的行

    integer, intent(out), optional :: iostat

    操作状态

    character(len=:), optional, allocatable :: iomsg

    错误消息

  • private subroutine getline_string(unit, line, iostat, iomsg)

    从格式化单元读取整行到字符串变量

    参数

    类型 意图可选 属性 名称
    integer, intent(in) :: unit

    格式化 IO 单元

    type(string_type), intent(out) :: line

    要读取的行

    integer, intent(out), optional :: iostat

    操作状态

    character(len=:), optional, allocatable :: iomsg

    错误消息

  • private subroutine getline_input_char(line, iostat, iomsg)

    从标准输入读取整行到延迟长度字符变量

    参数

    类型 意图可选 属性 名称
    character(len=:), intent(out), allocatable :: line

    要读取的行

    integer, intent(out), optional :: iostat

    操作状态

    character(len=:), optional, allocatable :: iomsg

    错误消息

  • private subroutine getline_input_string(line, iostat, iomsg)

    从标准输入读取整行到字符串变量

    参数

    类型 意图可选 属性 名称
    type(string_type), intent(out) :: line

    要读取的行

    integer, intent(out), optional :: iostat

    操作状态

    character(len=:), optional, allocatable :: iomsg

    错误消息

public interface loadtxt

从文本文件加载二维数组 (规范)

  • private subroutine loadtxt_rsp(filename, d, skiprows, max_rows, fmt)

    从文本文件加载二维数组。

    参数

    要从中加载数组的文件名

    参数

    类型 意图可选 属性 名称
    character(len=*), intent(in) :: filename

    数组 'd' 将自动分配具有正确的维度

    real(kind=sp), intent(out), allocatable :: d(:,:)

    跳过前 skiprows 行。如果跳过的行数多于实际存在,则将返回一个大小为 0 的数组。默认值为 0。

    integer, intent(in), optional :: skiprows

    skiprows 行之后读取 max_rows 行内容。负值会导致读取所有行。值为零会导致不读取任何行。默认值为 -1。

    integer, intent(in), optional :: max_rows
    character(len=*), intent(in), optional :: fmt
  • private subroutine loadtxt_rdp(filename, d, skiprows, max_rows, fmt)

    从文本文件加载二维数组。

    参数

    要从中加载数组的文件名

    参数

    类型 意图可选 属性 名称
    character(len=*), intent(in) :: filename

    数组 'd' 将自动分配具有正确的维度

    real(kind=dp), intent(out), allocatable :: d(:,:)

    跳过前 skiprows 行。如果跳过的行数多于实际存在,则将返回一个大小为 0 的数组。默认值为 0。

    integer, intent(in), optional :: skiprows

    skiprows 行之后读取 max_rows 行内容。负值会导致读取所有行。值为零会导致不读取任何行。默认值为 -1。

    integer, intent(in), optional :: max_rows
    character(len=*), intent(in), optional :: fmt
  • private subroutine loadtxt_iint8(filename, d, skiprows, max_rows, fmt)

    从文本文件加载二维数组。

    参数

    要从中加载数组的文件名

    参数

    类型 意图可选 属性 名称
    character(len=*), intent(in) :: filename

    数组 'd' 将自动分配具有正确的维度

    integer(kind=int8), intent(out), allocatable :: d(:,:)

    跳过前 skiprows 行。如果跳过的行数多于实际存在,则将返回一个大小为 0 的数组。默认值为 0。

    integer, intent(in), optional :: skiprows

    skiprows 行之后读取 max_rows 行内容。负值会导致读取所有行。值为零会导致不读取任何行。默认值为 -1。

    integer, intent(in), optional :: max_rows
    character(len=*), intent(in), optional :: fmt
  • private subroutine loadtxt_iint16(filename, d, skiprows, max_rows, fmt)

    从文本文件加载二维数组。

    参数

    要从中加载数组的文件名

    参数

    类型 意图可选 属性 名称
    character(len=*), intent(in) :: filename

    数组 'd' 将自动分配具有正确的维度

    integer(kind=int16), intent(out), allocatable :: d(:,:)

    跳过前 skiprows 行。如果跳过的行数多于实际存在,则将返回一个大小为 0 的数组。默认值为 0。

    integer, intent(in), optional :: skiprows

    skiprows 行之后读取 max_rows 行内容。负值会导致读取所有行。值为零会导致不读取任何行。默认值为 -1。

    integer, intent(in), optional :: max_rows
    character(len=*), intent(in), optional :: fmt
  • private subroutine loadtxt_iint32(filename, d, skiprows, max_rows, fmt)

    从文本文件加载二维数组。

    参数

    要从中加载数组的文件名

    参数

    类型 意图可选 属性 名称
    character(len=*), intent(in) :: filename

    数组 'd' 将自动分配具有正确的维度

    integer(kind=int32), intent(out), allocatable :: d(:,:)

    跳过前 skiprows 行。如果跳过的行数多于实际存在,则将返回一个大小为 0 的数组。默认值为 0。

    integer, intent(in), optional :: skiprows

    skiprows 行之后读取 max_rows 行内容。负值会导致读取所有行。值为零会导致不读取任何行。默认值为 -1。

    integer, intent(in), optional :: max_rows
    character(len=*), intent(in), optional :: fmt
  • private subroutine loadtxt_iint64(filename, d, skiprows, max_rows, fmt)

    从文本文件加载二维数组。

    参数

    要从中加载数组的文件名

    参数

    类型 意图可选 属性 名称
    character(len=*), intent(in) :: filename

    数组 'd' 将自动分配具有正确的维度

    integer(kind=int64), intent(out), allocatable :: d(:,:)

    跳过前 skiprows 行。如果跳过的行数多于实际存在,则将返回一个大小为 0 的数组。默认值为 0。

    integer, intent(in), optional :: skiprows

    skiprows 行之后读取 max_rows 行内容。负值会导致读取所有行。值为零会导致不读取任何行。默认值为 -1。

    integer, intent(in), optional :: max_rows
    character(len=*), intent(in), optional :: fmt
  • private subroutine loadtxt_csp(filename, d, skiprows, max_rows, fmt)

    从文本文件加载二维数组。

    参数

    要从中加载数组的文件名

    参数

    类型 意图可选 属性 名称
    character(len=*), intent(in) :: filename

    数组 'd' 将自动分配具有正确的维度

    complex(kind=sp), intent(out), allocatable :: d(:,:)

    跳过前 skiprows 行。如果跳过的行数多于实际存在,则将返回一个大小为 0 的数组。默认值为 0。

    integer, intent(in), optional :: skiprows

    skiprows 行之后读取 max_rows 行内容。负值会导致读取所有行。值为零会导致不读取任何行。默认值为 -1。

    integer, intent(in), optional :: max_rows
    character(len=*), intent(in), optional :: fmt
  • private subroutine loadtxt_cdp(filename, d, skiprows, max_rows, fmt)

    从文本文件加载二维数组。

    参数

    要从中加载数组的文件名

    参数

    类型 意图可选 属性 名称
    character(len=*), intent(in) :: filename

    数组 'd' 将自动分配具有正确的维度

    complex(kind=dp), intent(out), allocatable :: d(:,:)

    跳过前 skiprows 行。如果跳过的行数多于实际存在,则将返回一个大小为 0 的数组。默认值为 0。

    integer, intent(in), optional :: skiprows

    skiprows 行之后读取 max_rows 行内容。负值会导致读取所有行。值为零会导致不读取任何行。默认值为 -1。

    integer, intent(in), optional :: max_rows
    character(len=*), intent(in), optional :: fmt

public interface savetxt

将二维数组保存到文本文件 (规范)

  • private subroutine savetxt_rsp(filename, d)

    将二维数组保存到文本文件。

    参数

    参数

    类型 意图可选 属性 名称
    character(len=*), intent(in) :: filename
    real(kind=sp), intent(in) :: d(:,:)

    例子


     real(sp) :: data(3, 2)
     call savetxt("log.txt", data)
    
  • private subroutine savetxt_rdp(filename, d)

    将二维数组保存到文本文件。

    参数

    参数

    类型 意图可选 属性 名称
    character(len=*), intent(in) :: filename
    real(kind=dp), intent(in) :: d(:,:)

    例子


     real(dp) :: data(3, 2)
     call savetxt("log.txt", data)
    
  • private subroutine savetxt_iint8(filename, d)

    将二维数组保存到文本文件。

    参数

    参数

    类型 意图可选 属性 名称
    character(len=*), intent(in) :: filename
    integer(kind=int8), intent(in) :: d(:,:)

    例子


     integer(int8) :: data(3, 2)
     call savetxt("log.txt", data)
    
  • private subroutine savetxt_iint16(filename, d)

    将二维数组保存到文本文件。

    参数

    参数

    类型 意图可选 属性 名称
    character(len=*), intent(in) :: filename
    integer(kind=int16), intent(in) :: d(:,:)

    例子


     integer(int16) :: data(3, 2)
     call savetxt("log.txt", data)
    
  • private subroutine savetxt_iint32(filename, d)

    将二维数组保存到文本文件。

    参数

    参数

    类型 意图可选 属性 名称
    character(len=*), intent(in) :: filename
    integer(kind=int32), intent(in) :: d(:,:)

    例子


     integer(int32) :: data(3, 2)
     call savetxt("log.txt", data)
    
  • private subroutine savetxt_iint64(filename, d)

    将二维数组保存到文本文件。

    参数

    参数

    类型 意图可选 属性 名称
    character(len=*), intent(in) :: filename
    integer(kind=int64), intent(in) :: d(:,:)

    例子


     integer(int64) :: data(3, 2)
     call savetxt("log.txt", data)
    
  • private subroutine savetxt_csp(filename, d)

    将二维数组保存到文本文件。

    参数

    参数

    类型 意图可选 属性 名称
    character(len=*), intent(in) :: filename
    complex(kind=sp), intent(in) :: d(:,:)

    例子


     complex(sp) :: data(3, 2)
     call savetxt("log.txt", data)
    
  • private subroutine savetxt_cdp(filename, d)

    将二维数组保存到文本文件。

    参数

    参数

    类型 意图可选 属性 名称
    character(len=*), intent(in) :: filename
    complex(kind=dp), intent(in) :: d(:,:)

    例子


     complex(dp) :: data(3, 2)
     call savetxt("log.txt", data)
    

函数

public function open(filename, mode, iostat) result(u)

许可证
Creative Commons License
版本
实验性的

打开文件 (规范)

了解更多...

参数

类型 意图可选 属性 名称
character(len=*), intent(in) :: filename
character(len=*), intent(in), optional :: mode
integer, intent(out), optional :: iostat

返回值 integer

public function parse_mode(mode) result(mode_)

参数

类型 意图可选 属性 名称
character(len=*), intent(in) :: mode

返回值 character(len=3)