我遇到了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");;
但它只在控制台“End Of File”中打印,但是文件中的行不会出现。
这些代码有什么问题?
总共4个!!!
编辑:
实际上我发现它不起作用的原因。 这很简单,上面的代码运行得很好,但是我之前使用OCaml创建的文件“3ac”没有正确关闭,然后就无法读取文件了。 每个人都这样,就像我在代码工作之前所说的那样,每个人都可以使用它。
THKS。
答案 0 :(得分:1)
这段代码有效,我测试了它并且它写了文件3ac的行(没有换行,因为你不打印它们)然后“文件结束”。你确定3ac文件不是空的吗?