如何解决 Fortran 从数据文本文件读取错误的问题?

2024-01-04

我有一个文本文件,同一行有两个数字

108  6.7522

我有一个 fortran 子例程 READCN,它将文本文件中的数字 108 6.7522 存储到变量 NN 和 BOX 中

    SUBROUTINE READCN ( CNFILE, BOX )
    CHARACTER   CNFILE*(*)
    REAL        BOX
    INTEGER     CNUNIT
    PARAMETER ( CNUNIT = 10 )
    INTEGER     NN
    OPEN ( UNIT = CNUNIT, FILE = CNFILE, STATUS = 'OLD',
 :         FORM = 'UNFORMATTED'                        )

    READ ( CNUNIT ) NN, BOX
    WRITE(*,*) NN, BOX
    CLOSE ( UNIT = CNUNIT )
    RETURN
    END

READCN 变量 NN BOX 的输出是

   3.2997999      2.74554597E-31

如何正确读取数值?

这个程序取自http://www.ccl.net/cca/software/SOURCES/FORTRAN/allen-tildesley-book/f.12 http://www.ccl.net/cca/software/SOURCES/FORTRAN/allen-tildesley-book/f.12

当我尝试删除读取命令中的格式选项时,这是我收到的以下错误

At line 686 of file MCNPT.f (unit = 10, file = 'LATTICE-256.txt')
Fortran runtime error: Missing format for FORMATTED data transfer

从使用未格式化的输入转变为格式化输入需要三个操作:

  • 将输入更改为“文本文件”;
  • 打开文件进行格式化而不是未格式化的 I/O;
  • 提供读取语句的格式。

您已经完成了前两项。 [如果您不知道,请删除form='unformatted'表示使用默认的格式化 I/O。]

剩下的就是在后续中使用格式说明符reads。这就是编译器抱怨的地方。

最简单的格式化读取使用是列表导向,由下式给出fmt=*中的说明符read。这对于您的情况来说应该足够了,但是您应该确保您对其局限性感到满意。

准确来说:替换

      OPEN ( UNIT = CNUNIT, FILE = CNFILE, STATUS = 'OLD',
     :         FORM = 'UNFORMATTED'                        )
      READ ( CNUNIT ) NN, BOX

with

      OPEN ( UNIT = CNUNIT, FILE = CNFILE, STATUS = 'OLD')
      READ ( CNUNIT, * ) NN, BOX
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何解决 Fortran 从数据文本文件读取错误的问题? 的相关文章

  • 文件与 fstream [重复]

    这个问题在这里已经有答案了 可能的重复 std ifstream 是否比 FILE 慢得多 https stackoverflow com questions 477225 is stdifstream significantly slow
  • GO TO 语句 - Fortran 到 Matlab

    我一直在努力将此网格搜索代码从 Fortran 转换为 Matlab 但是我无法正确合并 GO TO 语句 我正在尝试使用 while 循环 但我认为我需要其他东西来结束搜索 任何帮助将不胜感激 vmax 1 0E 15 amax G 1
  • Fortran的性能

    Fortran 的表现计算机语言基准游戏 http shootout alioth debian org 出奇的糟糕 今天的结果显示 Fortran 在两项四核测试中分别排名第 14 和第 11 在单核测试中排名第 7 和第 10 现在 我
  • Java:BufferedInputStream 的 available() 方法存在问题

    我正在处理以下代码 用于将大文件拆分为一组较小的文件 FileInputStream input new FileInputStream this fileToSplit BufferedInputStream iBuff new Buff
  • windows XP中如何设置默认编码?

    我尝试使用 StreamReader 打开文件并设置编码 但我希望它采用默认 Windows 编码 我如何更改我的 Windows 编码 区域和语言选项控制面板项目 高级选项卡 影响整个计算机
  • 如何等到我启动的程序使用完该文件后才删除该文件?

    我一直在寻找一种方法来打开通过 Delphi 应用程序及其适当的应用程序保存到我的计算机上的文件 该文件存储在 SQL 数据库中的 Varbinary 字段中 加载到内存流中 然后通过 TMemoryStream 的 SavetoFile
  • 在 Java 中使用 Zip 和 GZip 文件

    我已经有一段时间没有完成 Java I O 了 而且我不知道使用 Zip 和 GZip 文件的最新 正确 方法 我不一定需要完整的工作演示 我主要是寻找要使用的正确接口和方法 是的 我可以查找任何关于此的随机教程 但性能是一个问题 这些文件
  • Fortran 内部计时例程,哪个更好? cpu_time 或 system_clock

    当对 FORTRAN 程序进行计时时 我通常只使用命令call cpu time t 然后我偶然发现call system clock count count rate count max 这似乎做了同样的事情 然而 在更加困难的庄园里 我
  • select() 可以在 Windows 下使用 Python 中的文件吗?

    我正在尝试在 Windows 下运行以下 python 服务器 An echo server that uses select to handle multiple clients at a time Entering any line o
  • MPI_Gather 在最基本的代码中给出了 seg 错误

    我正在开发一个更大的程序 但我在 MPI Gather 上遇到了困难 我编写了一个最小的示例代码 请参见下文 program test use MPI integer ierr rank size double precision allo
  • 如何在qt中进行异步文件io?

    我想知道如何在qt中实现异步文件io 这在普通的 qt 中是否可以实现 或者有人需要使用另一个库 例如 libuv 来实现这样的事情 我正在查看 QDataStream 但即使它是一个 流 它也不是非阻塞的 我想一种解决方案是制作一个在内部
  • Fortran 正在读取超出结束文件记录的内容

    我正在尝试从文件中读取一些数据 而结束文件记录检测对于停止读取非常重要 但是 根据用于读取数据的数组的数组维度 我无法正确检测结束文件记录 并且我的 Fortran 程序停止 程序如下 integer dimension 3 x line
  • 在 VSCode Fortran 调试中检查从另一个模块导入的变量

    我正在调试一些包含许多 Fortran 模块的代码 其中一些模块彼此共享变量 不幸的是 带有 VScode 的 gdb 在调试时似乎无法检查导入的变量 目前 当我需要检查导入的变量时 唯一的方法是停止调试 并手动更改代码以包含等于导入变量的
  • Python无法识别目录 os.path.isdir() [重复]

    这个问题在这里已经有答案了 我有以下 Python 代码来删除目录中的文件 由于某种原因 我的 svn 目录未被识别为目录 我得到以下输出 svn 不是目录 任何想法 将不胜感激 def rmfiles path pattern patte
  • C# 中的日志文件锁定问题

    我有一个 Windows 服务 它将日志文件条目写入 XML 日志文件 我在服务运行时维护日志文件的句柄 并在服务停止时关闭 刷新和处置它 文件写入操作仅由服务执行 并且我在 FileAccess ReadWrite 中打开文件流 同时将共
  • 使用日期时间作为文件名并随后解析文件名?

    我正在将文件写入硬盘 文件名是这样构建的 String Format 0 yyyy MM dd hh mm ss txt DateTime Now 例如 文件名是 2010 09 20 09 47 04 txt 现在我想在下拉列表中显示这些
  • 将 FORTRAN 对象传递给 C,反之亦然

    我有我的 Fortran 对象 即 this object a this object b this object c 我想将它传递给用 C 编写的代码 我主要是一名 FORTRAN 程序员 而且我很少接触 C 我正在使用iso c bin
  • 如何使用 Nodejs 创建 Excel 文件?

    我是一名 Nodejs 程序员 现在我有一个数据表 我想将其保存为 Excel 文件格式 我该怎么做呢 我找到了一些 Node 库 但其中大多数是 Excel 解析器而不是 Excel 编写器 我使用的是 Linux 服务器 因此需要一些可
  • 如何在 Sublime Text 2 的 OSX 终端中显示构建结果

    我刚刚从 TextMate 切换到 Sublime Text 2 我非常喜欢它 让我困扰的一件事是默认的构建结果显示在 ST2 的底部 我的程序产生一些很长的结果 显示它的理想方式 如在 TM2 中 是并排查看它们 如何在 Mac 操作系统
  • teracopy 如何替换默认的 Windows 副本

    我问了这个问题Windows 文件复制内部结构 动态加密 https stackoverflow com questions 24220382 windows file copy internals on the fly encryptio

随机推荐

  • 如何正确钳位贝克曼分布

    我正在尝试实现 Microfacet BRDF 着色模型 类似于 Cook Torrance 模型 但我在使用本文中定义的贝克曼分布时遇到了一些问题 https www cs cornell edu srm publications EGS
  • 如何运行快捷方式

    我想知道从另一个应用程序中运行应用程序快捷方式的 官方 方式是什么 像这样 string program application exe Process Start program 这不会工作 如果application exe是一条捷径
  • .Net 4 - 在程序集中包含自定义信息

    我正在构建一个可扩展的应用程序 它将在运行时加载其他程序集Assembly LoadFile 这些附加程序集将包含 WPF 资源字典 外观等 普通资源 Resx 和 或插件类等内容 程序集也可以不包含公共类 只包含资源或资源字典 我正在寻找
  • 如何在SQL Server中生成Guid?

    我需要在 SQL 中创建一个 Id 作为 Guid 无身份 我该怎么做 我将 Id 定义为 uniqueidentifier 但保存在 Db 中的是 00000000 0000 0000 0000 000000000000 Use NEWI
  • Visual Studio 调试器值“{ }”是什么意思?

    我在 Visual Studio 2008 NET C 项目中观察到一个属性 并且调试器显示打开和立即关闭的大括号 我相信它是未初始化的 I 列表 但为什么它不显示 null 或 uninitialized 这是什么意思 br 米兰 最可能
  • 如何在 Swift 中使用 UISplitViewController

    所以我添加一个UISplitViewController到一个嵌入了UITabBarController The UISplitViewController has a UINavigationController作为与其自己的根控制器的主
  • 使用 CIImage 添加纯色边框

    我正在寻找一种使用 Core Image 将纯色边框添加到现有图像的方法 我找到了过滤器列表参考 但没有人制作它 Help 我们需要有要在其中创建实线边框的 CIImage 范围或 CGRect 然后 我们可以在指定区域绘制一个形成实线的C
  • ViewDidLoad 期间 ViewModel 为 null

    我正在开始在 iOS 中使用 MvvmCross public class MainView MvxTabBarViewController public override void ViewDidLoad base ViewDidLoad
  • 如何限制tensorflow GPU内存使用?

    我在 Ubuntu 18 04 中使用了tensorflow gpu 1 13 1 并在 Nvidia GeForce RTX 2070 上使用了 CUDA 10 0 驱动程序版本 415 27 下面的代码用于管理张量流内存使用情况 我有大
  • 有没有办法减少操作栏上操作项图标之间的间距?

    我想减少添加到 ActionBar 的操作项图标之间的间距 我们有办法做到这一点吗 使用自定义 android actionButtonStyle
  • 如何使用javascript获取网页的长度/大小

    我们使用 w3c 导航 API 获取网页计时信息 我们使用资源计时 API 获取资源信息 现在 如何获取网页的大小 看来 如果我知道页面何时加载等 我应该知道最后一个字节何时下载 这应该足以给我页面的长度 大小 我如何获得这个长度 尺寸 找
  • 尝试使用 php 使用 aes-256-gcm 进行解密

    我想知道是否有人可以帮忙 我使用的是aes 256 gcm加密方法 可以加密 但无法解密 下面是我的代码 任何人都可以看到我哪里出错了 textToDecrypt POST message password 3sc3RLrpd17 meth
  • 使用 python 将 .xlsx 和 xls(最新版本)转换为 pdf

    借助这个使用 python 将 doc 转换为 pdf https stackoverflow com questions 6011115 doc to pdf using python链接我正在尝试使用 Excel xlsx 和 xls
  • | linq 中的运算符操作?

    linq 中的 pipe 运算符 我想知道运算符 的操作 我想检查不同表中的多个列 在我的场景中 只有单个表包含该特定列的值 my code swr Date Of Event Date lt DateTime Today Date spr
  • iOS8 中的 UIScrollView 行为有所不同

    我有以下布局 所以它基本上是一个占据整个屏幕的滚动视图 内容大小设置为三倍宽度和相同高度 在滚动视图内 有容器视图和三个表视图 每页一个 最初只有中间表格视图可见 这允许我使用滚动视图水平滚动在表格之间导航 并在中间表格内垂直滚动 我知道苹
  • 使用 Node.js 进行表连接的 GraphQL 查询

    我在学习GraphQL所以我建立了一个小项目 假设我有 2 个模型 User and Comment const Comment Model define Comment content type DataType TEXT allowNu
  • .SVG 浏览器支持

    我正在研究响应式设计 并且正在考虑将导航图标创建为 svg 文件 当前的浏览器支持如何 是否有针对旧浏览器版本的解决方法 插件 除 Sources http caniuse com search svg http caniuse com s
  • 测试 sklearn 模型是否已拟合的最佳方法是什么?

    检查 sklearn 模型是否已安装的最优雅的方法是什么 即是否是fit 函数在实例化后是否被调用 你可以这样做 from sklearn exceptions import NotFittedError for model in mode
  • 为什么 Cuda/OpenCL 的全局内存中不存在库冲突?

    我还没有弄清楚并且谷歌没有帮助我的一件事是 为什么有可能与共享内存发生银行冲突 但在全局内存中却没有 银行与寄存器会存在冲突吗 UPDATE哇 我真的很感谢 Tibbit 和 Grizzly 的两个回答 看来我只能给一个答案打绿色复选标记
  • 如何解决 Fortran 从数据文本文件读取错误的问题?

    我有一个文本文件 同一行有两个数字 108 6 7522 我有一个 fortran 子例程 READCN 它将文本文件中的数字 108 6 7522 存储到变量 NN 和 BOX 中 SUBROUTINE READCN CNFILE BOX