这是我目前的目录结构
/project
/code (source code)
/build (contains the .exe)
部分源代码:
let () =
let oc = open_out file in (* create or truncate file, return channel *)
fprintf oc "%s\n" message; (* write something *)
close_out oc;
如果我在/ build子目录中运行.exe,它将在/ build中创建输出文件。但我想创建一个名为result的新目录,并在其下创建输出文件。
新目录结构:
/project
/code (source code)
/build (contains the .exe)
/result (contains the output file)
如何在父目录下创建新目录并使用OCaml将文件写入其中?谢谢!
答案 0 :(得分:3)
如果您手动创建结果目录,则可以使用以下命令替换文件名:
let oc = open_out ("../result/"^file) in
...
如果您需要从程序中创建目录,可以使用Unix.mkdir "../result"
。请务必将其包装在try ... with Unix.Error -> ...
中以处理目录已存在的情况