从数据文件中读取行

时间:2013-10-16 03:44:10

标签: file-io fortran line

问题:在一行中读取包含多个条目的数据文件

  • 我发现这样做的最简单方法是将整行读作字符串,然后使用内部读取来提取非空值。

~~~~~~~~~~~~

该解决方案的问题:

  • 要求您知道数据文件中任何给定行的最大长度,这通常是不可能的。 或
  • 要求您创建一个任意且过长的字符串变量,这会浪费内存。

~~~~~~~~~~~~

还有其他方法吗?

2 个答案:

答案 0 :(得分:2)

您可以直接从一行或多行读取多个项目。例如:

read (5, *) a, b, c, d

将从一行到多行读取四个值。

答案 1 :(得分:2)

使用延迟长度字符和非提前读取可以避免您在问题中提到的问题。

继续使用具有显式格式的内部IO解析生成的行,然后避免了与列表定向格式的更加模糊的功能相关的用户“惊喜”的可能性,并允许更多的范围和对输入错误检测和报告的控制。 / p>