如何从输出的同一行读取键盘上的字符串?

goo*_*ycs 7 string io rust

我正在读这样的字符串:

print!("Input string: "); 

let string: String = String::new();
std::io::stdin().read_line(&mut string);
Run Code Online (Sandbox Code Playgroud)

当我启动程序时,我看到:

(write a string here)
Input string:
Run Code Online (Sandbox Code Playgroud)

但是我需要:

Input string: (write a string here)
Run Code Online (Sandbox Code Playgroud)

怎么实现这个?

bed*_*wyr 6

在调用stdout().flush()之前添加一个调用以强制缓冲区输出read_line:

fn main() {
   print!("Input string: "); 
   std::io::stdout().flush();
   let mut string: String = String::new();
   std::io::stdin().read_line(&mut string);
}
Run Code Online (Sandbox Code Playgroud)