當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Rust BufWriter.into_parts用法及代碼示例


本文簡要介紹rust語言中 std::io::BufWriter.into_parts 的用法。

用法

pub fn into_parts(self) -> (W, Result<Vec<u8>, WriterPanicked>)

反匯編此 BufWriter<W> ,返回底層編寫器以及任何緩衝但未寫入的數據。

如果底層寫入器出現Panics,則不知道寫入了數據的哪一部分。在這種情況下,我們為緩衝數據返回WriterPanicked(仍然可以從中恢複緩衝區內容)。

into_parts 不會嘗試刷新數據並且不會失敗。

例子

use std::io::{BufWriter, Write};

let mut buffer = [0u8; 10];
let mut stream = BufWriter::new(buffer.as_mut());
write!(stream, "too much data").unwrap();
stream.flush().expect_err("it doesn't fit");
let (recovered_writer, buffered_data) = stream.into_parts();
assert_eq!(recovered_writer.len(), 0);
assert_eq!(&buffered_data.unwrap(), b"ata");

相關用法


注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 std::io::BufWriter.into_parts。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。