我找到的所有关于刷新的文档都表明,正确的刷新stdout的方法如下:

std::io::stdout().flush().expect("some error message");

这导致

no method named flush found for type std::io::Stdout in the current scope

我做错了什么?

推荐答案

您需要为Stdout导入实现flush方法的trait.

根据文件:

io::Write

因此:

use std::io::Write; // <--- bring the trait into scope

fn main() {
    std::io::stdout().flush().expect("some error message");
}

Playground example

Rust相关问答推荐

有没有方法处理rust中嵌套的ok_or()?

在函数内定义impl和在函数外定义impl的区别

如何在Rust中表示仅具有特定大小的数组

如何go 除铁 rust 中路径组件的第一项和最后一项?

正则表达式中的重叠匹配?(铁 rust 正则式发动机)

通过RabbitMQ取消铁 rust 中长时间运行的人造丝任务的策略

写入引用会更新基础值,但引用会打印意外的值

Tokio';s io::用Cursor拆分<;Vec<;u8>>;赢得';t get the full writted data

这是什么:`impl Trait for T {}`?

使用启用优化的 alloc 会导致非法指令崩溃

使用 Option 来分配?

将泛型中的 Box 转换为 rust 中的 Box

Rust 中指向自身的引用如何工作?

简单 TCP 服务器的连接由对等重置错误,mio 负载较小

为什么在 rust 中删除 vec 之前应该删除元素

无法把握借来的价值不够长寿,请解释

使用方法、关联函数和自由函数在 Rust 中初始化函数指针之间的区别

如何使用 rust bindgen 生成的 std_vector

为什么 match 语句对引用类型比函数参数更挑剔?

在传输不可复制的值时实现就地枚举修改