如何在 Fortran 中读取数据文件中一行的一小段(一个值)?

让·卢卡斯·贝洛

我遇到了以下问题:数据文件中有“n”行,但这不是问题,因为我能够读取对我来说很有趣的特定行。但是,我应该只是读取并保存该行的一个片段(一个值)。例如,该行在文件中写入为:Resisting Moment = 2779.94 kN-m.

然后,我必须阅读并保存2779.94. 也许,我可以通过从“=”读取到行尾来做到这一点,然后,我应该删除最后 5 个字符。但是,我不知道这是否可能或如何做到这一点。有人知道吗?

值的字符数可能会改变(例如,Resisting Moment = 27790.945 kN-m)。因此,我无法固定一个点来完成读取,我只能固定不会发生变化的起点(值之前)。

罗伊格维布

另外,介于@agentp 和@Franz 的解决方案之间......

subroutine readrhs( line, val )
    implicit none
    character(*), intent(in)  :: line
    real,         intent(out) :: val
    integer :: n
    n = index( line, '=' )
    read( line( n+1 : ), * ) val
end

program  main
    implicit none
    character(100) :: line
    real :: val

    line = "resisting moment = 12312.9 kN-m"
    call readrhs( line, val )
    print *, "moment = ", val

    line = "force = 777.4 N"
    call readrhs( line, val )
    print *, "force = ", val
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Fortran中读取/写入矩阵?

来自分类Dev

如何在fortran中读取“ enter”键

来自分类Dev

如何在Fortran中处理大整数?

来自分类Dev

如何在Fortran 90中刷新stdout?

来自分类Dev

如何在fortran中添加双标签?

来自分类Dev

如何在Fortran中实施BCD?

来自分类Dev

如何在Fortran 90中刷新stdout?

来自分类Dev

如何在fortran中拆分数组?

来自分类Dev

如何在Fortran中像文件一样读取字符串

来自分类Dev

如何在Fortran中像文件一样读取字符串

来自分类Dev

如何在fortran中调用数组值函数?

来自分类Dev

如何在fortran中获取最大值的位置?

来自分类Dev

如何在 Fortran 中复制未知类型的数据?

来自分类Dev

如何读取一个hdf5数据文件中的批次以进行培训?

来自分类Dev

如何读取一个hdf5数据文件中的批次以进行培训?

来自分类Dev

如何在 Fortran mex 文件中使用 BLAS 函数

来自分类Dev

如何在多行上编写 Fortran 95 行代码?

来自分类Dev

如何在Fortran中声明变量中间例程

来自分类Dev

如何在fortran中获取数组的起始索引

来自分类Dev

如何在Fortran中初始化大数组?

来自分类Dev

如何在Fortran中实现数组结构而不是结构数组?

来自分类Dev

如何在Fortran 2018中访问远程团队

来自分类Dev

如何在OpenVMS Fortran中获取命令行参数?

来自分类Dev

如何在Fortran中定义周期函数?

来自分类Dev

如何在Fortran中声明变量中间例程

来自分类Dev

您如何在fortran中调用bind-C函数?

来自分类Dev

如何在fortran 90中声明复杂类型数组

来自分类Dev

如何在Fortran中返回类型化数组?

来自分类Dev

如何在Fortran 90中创建圆形网格?

Related 相关文章

热门标签

归档