我在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”没有正确关闭,因此无法读取该文件。谢谢大家,就像我在代码生效之前所说的那样,每个人都可以使用它。
谢谢。
此代码有效,我对其进行了测试,并写入了文件3ac的行(不打印换行符,因为您不打印它们),然后写入“文件尾”。您确定文件3ac不为空吗?