如何实现“appendFile”功能?

时间:2011-11-11 06:40:27

标签: ocaml

我可以使用以下函数覆盖文本文件:

let writeFile ~filename:fn s =
let oc = open_out fn in
    output_string oc s;
    close_out oc ;;

但是,我不知道如何在文本文件中添加一行?

2 个答案:

答案 0 :(得分:7)

您可以将其他模式标记Open_append传递给open_out_gen函数:

let _ =
    let oc = open_out_gen [Open_creat; Open_text; Open_append] 0o640 "a.txt" in
    output_string oc "append\n";
    close_out oc

答案 1 :(得分:3)

这就是我的所作所为:

let append_string path s =
    let chan = open_out_gen [Open_wronly; Open_creat] 0o666 path
    in let len = out_channel_length chan
    in
        begin
        seek_out chan len;
        output_string chan s;
        close_out chan;
        end