【问题标题】:Read file character by character in SMLNJ在 SMLNJ 中逐字符读取文件
【发布时间】:2016-05-04 18:51:45
【问题描述】:

我需要在 SMLNJ 中逐字符读取文本文件并将其存储在列表中。该文件由一行数字组成,没有空格或任何形式的分隔。我的问题是如何从文件中获取单个字符并将其添加到字符列表中?

例子:

12345678

结果:

val input = [1, 2, 3, 4, 5, 6, 7, 8]

【问题讨论】:

  • 这不是一个真正的问题。您对其中的某些部分有困难吗?如果有,是哪一部分? (你知道如何逐字符读取文本文件吗?你知道如何组装列表吗?)

标签: sml smlnj ml


【解决方案1】:

使用以下代码,您可以通过将文件内容读取为字符串(准确地说是 TextIO.vector)来获取字符列表。 explode 函数用于转换为字符列表。

fun parse file =
let
    fun next_String input = (TextIO.inputAll input) 
    val stream = TextIO.openIn file
    val a = next_String stream
in
    explode(a)
end  

【讨论】:

  • 使用后记得关闭文件描述符!
猜你喜欢
  • 1970-01-01
  • 2011-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-25
  • 1970-01-01
相关资源
最近更新 更多