【发布时间】:2021-06-29 18:00:27
【问题描述】:
在开始学习 Rust 语言后,我一直在用 Rust 编写一个简单的基于文本的游戏,并且我尝试实现一个函数来等待用户在继续程序之前按下 enter。
到目前为止,经过一些实验,我已经做到了:
pub fn wait() {
let mut stdin = io::stdin();
let wait_string = &mut String::new();
wait_string.clear();
println!("\nPress Enter to Continue\n");
io::stdout().clear();
stdin.read_line(wait_string);
}
但是,我的问题是,由于标准输入上的硬编码缓冲区,如果用户在显示消息之前按下回车,该函数将自动继续运行而无需等待。
有解决办法吗?或者使用 std::thread::sleep 的另一种方法会更好吗? 如果这很容易解决或不可能解决,我深表歉意,我仍在 Rust 中找到自己的立足点。
【问题讨论】:
标签: rust