2013-10-20 56 views
5

我正在寻找一种方法将两个int s写入一个文件。将有许多对两个int s。在这两个数字之间应该有一个空格(我的意思是'')。例如,像这样:OCaml如何写入文件?

1 2 
6 896 
243 865 
.... 

回答

5

您可以使用这样的事情:

let rec print_numbers oc = function 
    | [] ->() 
    | e::tl -> Printf.fprintf oc "%d %d\n" (fst e) (snd e); print_numbers oc tl 

let() = 
    let nums = [(1, 2); (6, 896); (243, 865)] in 
    let oc = open_out "filename.txt" in 
    print_numbers oc nums; 
    close_out oc; 

这里假设你的数据是对的列表。

2

如果使用Core,你可以这样做:

open Core.Std 
let() = Out_channel.write_all "your_file.txt" ~data:"Your text"