相关疑难解决方法(0)

为什么在打印前读取输入?

我在使用一些基本的I/O时遇到了一些问题.具体来说,在输入我的名字并点击,文本"请输入您的姓名"将写入输出Enter:

use std::io;

fn main() {
    print!("Please enter your name: ");

    let mut name = String::new();
    match io::stdin().read_line(&mut name) {
        Ok(_) => println!(""),
        Err(err) => println!("Could not parse input: {}", err)
    }

    println!("Hello, {}!", name.trim());
}
Run Code Online (Sandbox Code Playgroud)

给出以下输出:

Compiling chat v0.1.0 (file:///home/marcus/dev/rust/chat)
  Running `target/debug/chat`
marcus
Please enter your name: 
Hello, marcus!
Run Code Online (Sandbox Code Playgroud)

第一个"马库斯"是我进入的地方.为什么程序在等待输入之前不打印"请输入你的名字"?


是否有可能"什么都不做",如果返回的ResultOk?在示例中,Ok()表示我已将输入保存在变量名称中.那很棒.但Ok() =>在这种情况下我该怎么办?

rust

8
推荐指数
2
解决办法
1337
查看次数

标签 统计

rust ×1