Rust 生锈:印刷!在按Enter键之前不执行宏

Rust 生锈:印刷!在按Enter键之前不执行宏,rust,Rust,我正在研究锈病,在对机器进行操作时,我发现了这种奇怪的行为: 使用std::io; fn main(){ println!(“欢迎!”); 让mut input=String::new(); 打印!(“请键入内容:”;//在按Enter键之前,不会打印此行 io::stdin() .read_行(&mut输入) .expect(“读取输入失败!”); println!(“再见!”); } 发生以下情况: 欢迎已打印 请键入以下内容:未打印 如果您键入一些文本并按Enter键,您将看到文本后面跟

我正在研究锈病,在对机器进行操作时,我发现了这种奇怪的行为:

使用std::io;
fn main(){
println!(“欢迎!”);
让mut input=String::new();
打印!(“请键入内容:”;//在按Enter键之前,不会打印此行
io::stdin()
.read_行(&mut输入)
.expect(“读取输入失败!”);
println!(“再见!”);
}
发生以下情况:

  • 欢迎已打印
  • 请键入以下内容:
    未打印
  • 如果您键入一些文本并按Enter键,您将看到文本后面跟着
    请键入一些内容:再见
  • 如何将消息打印到标准输出,并将输入打印在同一行上

    例如:

    Please enter your name:
    (user types Chuck Norris)
    Please enter your name: Chuck Norris
    
    从以下文件:

    请注意,默认情况下,stdout通常是行缓冲的,因此可能需要使用io::stdout().flush()来确保立即发出输出


    看来你需要打电话了。

    可能与?@tadman有关。我真的可以打印!(“某物”\n),然后打印。请参阅我链接的相关问题。谢谢您的帮助!10分钟的延迟一过,我就接受你的答复。