Rust 打印后从控制台读取输入

2023-12-09

我只是在制作一个小程序,我试图通过控制台从用户那里获取输入,这是我的代码:

print!("Enter values seperated by spaces: ");
let mut input = String::new();
match io::stdin().read_line(&mut input) {
    Ok(_n) => println!("{}", input),
    Err(e) => println!("error: {}", e),
}

但不是打印Enter values seperated by spaces: 然后读取输入并打印输入,它先读取输入,然后打印Enter values seperated by spaces: 然后它打印输入。我怎样才能让它打印出来Enter values seperated by spaces: first?


您需要刷新输出流

use std::io::{Write, stdout}

...

print!("Enter values separated by spaces: ");
stdout().flush();

默认情况下,大多数现代终端都是行缓冲的以提高效率。如果您想覆盖此行为,您必须自己刷新流。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rust 打印后从控制台读取输入 的相关文章

随机推荐