9

我正在寻找类似input_char stdin但不等待返回键的东西。我不会依赖像 lambda-term 这样的大依赖。

4

1 回答 1

11

处理整行输入很容易。一次处理一个字符有点依赖于系统。如果您使用的是类 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
于 2012-11-16T04:32:21.340 回答