Я хочу запустить исполняемый файл, который блокируется на 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);
}
Я просмотрел API и попытался заменить read_line()
на bytes()
, но все, что я пытаюсь, требует, чтобы я ударил Enter перед чтением.
Этот вопрос задавали для C/С++, но, похоже, нет стандартного способа сделать это: Захват символов со стандартного ввода без ожидания нажатия клавиши
Возможно, это не выполнимо в Rust, считая его не простым в C/С++.