Как реализовать функцию "appendFile"? - PullRequest
3 голосов
/ 11 ноября 2011

Я могу использовать следующую функцию для перезаписи текстового файла:

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

Как же, я не знаю, как добавить строку в текстовый файл?

Ответы [ 2 ]

7 голосов
/ 11 ноября 2011

Вы можете передать флаг дополнительного режима 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
3 голосов
/ 11 ноября 2011

Вот что я делаю:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...