BufWriter
有一个私有字段buf
,它是不可访问的。我该如何知道当前包含在其中的数据大小?
BufWriter
有一个私有字段buf
,它是不可访问的。我该如何知道当前包含在其中的数据大小?
你无法确认(可以查看源代码来确定)。内部的buf
没有以任何方式暴露,可能是为了在不破坏兼容性的情况下允许实现发生变化。
嗯,你可以,但这很糟糕和不正规。你可以使用调试格式化程序打印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 }
format!("{:?}", b)
并解析结果... /糟糕的想法 - trent