小编ban*_*l23的帖子

如何从stdin中读取一个字符而不必输入?

我想运行一个在stdin上阻塞的可执行文件,当按下一个键时,Enter不必按下即可立即打印相同的字符.

如何从stdin中读取一个字符而不必点击Enter?我从这个例子开始:

fn main() {
    println!("Type something!");

    let mut line = String::new();
    let input = std::io::stdin().read_line(&mut line).expect("Failed to read line");

    println!("{}", input);
}
Run Code Online (Sandbox Code Playgroud)

我通过API看起来并试图替换read_line()bytes(),但一切我尝试需要我打Enter的读取发生之前.

这个问题被要求用于C/C++,但似乎没有标准的方法:从标准输入中捕获字符而不等待按下输入

考虑到它在C/C++中并不简单,它在Rust中可能不可行.

rust

24
推荐指数
3
解决办法
8461
查看次数

如何在Rust中捕获信号

我正在尝试编写一些能够捕获SIGTERM信号的代码.

我找到了这个,我还发现了如何处理Rust中的阻塞i/o,或者一般来说长时间运行外部函数调用.

但是在目前的Rust版本(每晚0.12)中,它似乎std::io::signal::Listener被删除了.它被放在别的地方吗?如果是这样,有人会指出我如何捕捉信号?

rust

12
推荐指数
3
解决办法
4603
查看次数

标签 统计

rust ×2