I can use the following function to overwrite a text file:
let writeFile ~filename:fn s =
let oc = open_out fn in
output_string oc s;
close_out oc ;;
This is what I do:
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
You could pass additional mode flag Open_append
to open_out_gen
function:
let _ =
let oc = open_out_gen [Open_creat; Open_text; Open_append] 0o640 "a.txt" in
output_string oc "append\n";
close_out oc