【问题标题】:How to read a character in OCaml without a return key?如何在没有返回键的情况下读取 OCaml 中的字符?
【发布时间】:2012-11-22 03:22:37
【问题描述】:

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

【问题讨论】:

    标签: ocaml


    【解决方案1】:

    处理整行输入很容易。一次处理一个字符有点依赖于系统。如果你在一个类 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-04
      • 1970-01-01
      • 1970-01-01
      • 2011-11-16
      • 2012-12-07
      • 1970-01-01
      • 2019-07-18
      • 1970-01-01
      相关资源
      最近更新 更多