Input 如何避免使用生锈的标准DIN去新生产线
我有以下代码:Input 如何避免使用生锈的标准DIN去新生产线,input,rust,line,stdin,Input,Rust,Line,Stdin,我有以下代码: fn main() { let mut stdin = io::stdin(); let input = &mut String::new(); loop { input.clear(); print!("Your age: "); stdin.read_line(input); print!("{}", input); } } 所以当我输入一些东西时,程序会返回“你的年龄
fn main() {
let mut stdin = io::stdin();
let input = &mut String::new();
loop {
input.clear();
print!("Your age: ");
stdin.read_line(input);
print!("{}", input);
}
}
所以当我输入一些东西时,程序会返回“你的年龄:”加上我的输入。
但是当我运行程序时,我不想把输入写在新行中。
要在Python中执行类似操作,我可以编写:
var = input("Your age: ")
我怎样才能避免去新的线路?我相信这很简单,但我真的不知道如何做到这一点,我尝试了很多不同的东西…在阅读这行之前,您需要刷新
stdout
:
use std::io::{self, Write};
fn main() {
let mut stdin = io::stdin();
let input = &mut String::new();
loop {
input.clear();
print!("Your age: ");
io::stdout().flush();
stdin.read_line(input);
print!("{}", input);
}
}
从:
请注意,默认情况下,stdout通常是行缓冲的,因此可能需要使用io::stdout().flush()
,以确保立即发出输出
请注意,使用
let mut input=String::new()可能更为惯用编码>然后使用stdin.read_行(&mut输入)代码>。这有点冗长,但没有将临时文件绑定到引用那么奇怪。