如何在没有返回键的情况下读取OCaml中的字符?
我正在寻找类似于如何在没有返回键的情况下读取OCaml中的字符?,ocaml,Ocaml,我正在寻找类似于input\u char stdin的东西,但不需要等待返回键。我不想依赖像lambda term这样的大依赖项。处理整行输入很容易。一次处理一个字符有点依赖于系统。如果您使用的是类Unix系统,您应该能够使用Unix模块执行此操作: let get1char () = let termio = Unix.tcgetattr Unix.stdin in let () = Unix.tcsetattr Unix.stdin Unix.TCSADRAI
input\u char stdin
的东西,但不需要等待返回键。我不想依赖像lambda term这样的大依赖项。处理整行输入很容易。一次处理一个字符有点依赖于系统。如果您使用的是类Unix系统,您应该能够使用Unix
模块执行此操作:
let get1char () =
let termio = Unix.tcgetattr Unix.stdin in
let () =
Unix.tcsetattr Unix.stdin Unix.TCSADRAIN
{ termio with Unix.c_icanon = false } in
let res = input_char stdin in
Unix.tcsetattr Unix.stdin Unix.TCSADRAIN termio;
res