-3

我遇到了麻烦OCaml,因为我想从文本文件中读取行,并且我正在使用此代码来完成这项工作:

    let parse3ac() = 
    let lines = ref "" in
    let chan = open_in "3ac" in
    try
      while true do
        lines := input_line chan;
    print_string(!lines);
      done;
     with End_of_file -> close_in chan;print_string("End Of File");;

但它只在控制台“文件结尾”中打印,但文件中的行不会出现。

这段代码有什么问题吗?

全部感谢4!

编辑:

实际上我已经找到了它不起作用的原因。很简单,上面的代码运行的很好,但是我之前使用的文件“3ac”OCaml没有正确关闭,然后就无法读取文件了。谢谢大家,就像我在代码工作之前所说的那样,每个人都可以使用它。

谢谢 。

4

1 回答 1

1

此代码有效,我对其进行了测试,它写入了文件 3ac 的行(没有换行符,因为您不打印它们),然后是“文件结尾”。您确定文件 3ac 不为空吗?

于 2012-06-22T00:07:27.997 回答