1

问题:在单行上读取具有多个条目的数据文件

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

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

该解决方案的问题:

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

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

有没有其他方法可以做到这一点?

4

2 回答 2

2

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

继续使用具有显式格式的内部 IO 解析结果行,避免了与列表定向格式的更模糊特征相关的用户“惊讶”的可能性,并允许对输入错误检测和报告进行更多的范围和控制。

于 2013-10-16T05:51:58.783 回答
2

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

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

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

于 2013-10-16T04:02:13.957 回答