本文簡要介紹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 BufWriter.into_inner用法及代碼示例
- Rust BufWriter.capacity用法及代碼示例
- Rust BufWriter.get_ref用法及代碼示例
- Rust BufWriter.get_mut用法及代碼示例
- Rust BufWriter.with_capacity用法及代碼示例
- Rust BufWriter.new用法及代碼示例
- Rust BufWriter.buffer用法及代碼示例
- Rust BufWriter用法及代碼示例
- Rust BufRead.split用法及代碼示例
- Rust BufReader.new用法及代碼示例
- Rust BufReader.get_mut用法及代碼示例
- Rust BufReader.with_capacity用法及代碼示例
- Rust BufRead.fill_buf用法及代碼示例
- Rust BufRead.has_data_left用法及代碼示例
- Rust BufRead.read_until用法及代碼示例
- Rust BufRead.read_line用法及代碼示例
- Rust BufReader.capacity用法及代碼示例
- Rust BufRead.lines用法及代碼示例
- Rust BufReader.buffer用法及代碼示例
- Rust BufRead用法及代碼示例
- Rust BufReader用法及代碼示例
- Rust BufReader.get_ref用法及代碼示例
- Rust BufReader.into_inner用法及代碼示例
- Rust Builder.stack_size用法及代碼示例
- Rust BuildHasher.build_hasher用法及代碼示例
注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 std::io::BufWriter.into_parts。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。