You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Fortran中实现逐行读取数据直到遇到空行停止

Fortran95 逐行读取整数遇空行停止实现方案

通过给read语句添加iostat返回参数判断读取状态即可实现需求:当读取空行、输入格式不匹配或到达输入流末尾时,iostat会返回非0值,此时终止循环即可。

修改后可运行代码

program main
    implicit none
    integer :: n, a, io_stat
    do
        ! 读取时添加iostat参数获取读取状态
        read(*, *, iostat=io_stat) n, a
        ! 读取状态非0(遇到空行/读取失败/输入结束)时退出循环
        if (io_stat /= 0) exit
        print *, n, a
    end do
end program main

补充说明

  • 如果需要严格区分「遇到空行」和「输入格式错误」的场景,可以额外读取每行的字符串先判断是否为空,再对非空字符串做整数解析,适配更严格的校验需求
  • 上述代码同时兼容命令行标准输入、文件输入两种场景,完全符合Fortran95语法标准

内容的提问来源于stack exchange,提问作者talal AlMahrizi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 01:06:00