我正在尝试编写然后将变量读取到文件中。变量来自我创建的数据类型。
(如果有帮助:
输入sys = 字符串文件*字符串列表| string * sys list ;;
的文件夹
)
我该怎么做? 我一直在阅读关于fprintf的使用,但是对于我得到的东西,它必须首先以某种方式转换为String,对吧?
答案 0 :(得分:7)
如果您确定自己的类型不会改变,可以使用Pervasives中的input_value
和output_value
。
let write_sys sys file =
let oc = open_out file in
output_value oc sys;
close_out oc
let read_sys file =
let ic = open_in file in
let sys : sys = input_value ic in
close_in ic;
sys
只要您尝试读取与read_sys
的其他版本一起存储的值(或者如果您在写入和阅读之间更改OCaml的版本), sys
就会中断。