A BufWriter有一个无法访问的专用字段buf.我如何知道其中当前包含的数据的大小?

推荐答案

你不能(勾选the source to be sure).内部buf没有以任何方式公开,可能是为了允许实现在不 destruct 兼容性的情况下进行更改.


好吧,你是can,但这是可怕的和黑客.您可以使用调试格式化程序打印BufWriter:

use std::io::prelude::*;
use std::io::{self, BufWriter};

fn main() {
    let mut b = BufWriter::new(io::sink());
    b.write_all(b"hello, world").expect("Unable to write");
    println!("{:?}", b)
}
BufWriter { writer: Sink { .. }, buffer: 12/8192 }

Rust相关问答推荐

在Rust中创建可变片段的可变片段的最有效方法是什么?

为什么单元类型(空元组)实现了`Extend`trait?

是否可以为`T:Copy`执行`T. clone`的测试

如何将`Join_all``Vec<;Result<;Vec<;Foo&>;,Anywhere::Error&>;`合并到`Result<;Vec<;Foo&>;,Anywhere::Error&>;`

为什么std repeat trait绑定在impl块和关联函数之间?

将数组转换为HashMap的更简单方法

如何使用盒装枚举进行模式匹配?

在生存期内将非静态可变引用转换为范围内的静态可变引用

AXUM一路由多个不包括URL的参数类型

如何在Rust中基于字符串 Select struct ?

为什么 GAT、生命周期和异步的这种组合需要 `T: 'static`?

从字节数组转换为字节元组和字节数组时,为什么 Transmute 会对字节重新排序?

可选包装枚举的反序列化

Rust 并行获取对 ndarray 的每个元素的可变引用

为什么 Rust 字符串没有短字符串优化 (SSO)?

在多核嵌入式 Rust 中,我可以使用静态 mut 进行单向数据共享吗?

如何在 C++ 和 Rust 之间共享 pthread 同步原语?

匹配结果时的简洁日志(log)记录

使用 rust-sqlx/tokio 时如何取消长时间运行的查询

`if let` 只是另一种编写其他 `if` 语句的方式吗?