将int写入输出流和未绑定值

时间:2013-06-04 14:46:52

标签: sockets ocaml

我正在尝试将整数输出到

Unix.out_channel_of_descr

我目前正在使用output_string函数,我想知道,有没有像output_int这样的函数?此外,当我尝试使用名为write的函数时,它会向我显示一个名为unbound value write的错误,我假设我需要为此导入一个模块,您如何解决此问题?

谢谢

1 个答案:

答案 0 :(得分:3)

你想写什么输出?你想写一系列代表整数的字符,还是想写整数本身(二进制值)?对于前者,最简单的可能是:output_string (string_of_int x)。 (这可能就是你现在正在做的事情。)对于后者,有output_binary_int

如果您希望通过字节流发送复杂值,则可以查看Marshal模块。

目前尚不清楚您正在寻找哪个名为write的函数。 write模块中有Unix个函数。那么也许Unix.write就是你想要的?

除非您有特殊原因,否则最好使用Unix I / O或本机OCaml I / O.你似乎正在使用两者的混合物。如果将两种输出都指向同一个地方,可能会遇到一些缓冲问题。