本文簡要介紹rust語言中 std::io::BufRead.fill_buf
的用法。
用法
fn fill_buf(&mut self) -> Result<&[u8]>
返回內部緩衝區的內容,如果它是空的,則用來自內部讀取器的更多數據填充它。
此函數是lower-level 調用。它需要與 consume
方法配對才能正常工作。調用此方法時,所有內容都不會是“read”,因為稍後調用read
可能會返回相同的內容。因此,必須使用從此緩衝區消耗的字節數調用 consume
,以確保字節永遠不會返回兩次。
返回的空緩衝區表示流已達到 EOF。
錯誤
如果讀取了底層讀取器,則此函數將返回 I/O 錯誤,但返回了錯誤。
例子
鎖定的標準輸入實現 BufRead
:
use std::io;
use std::io::prelude::*;
let stdin = io::stdin();
let mut stdin = stdin.lock();
let buffer = stdin.fill_buf().unwrap();
// work with buffer
println!("{:?}", buffer);
// ensure the bytes we worked with aren't returned again later
let length = buffer.len();
stdin.consume(length);
相關用法
- Rust BufRead.split用法及代碼示例
- Rust BufRead.has_data_left用法及代碼示例
- Rust BufRead.read_until用法及代碼示例
- Rust BufRead.read_line用法及代碼示例
- Rust BufRead.lines用法及代碼示例
- Rust BufReader.new用法及代碼示例
- Rust BufReader.get_mut用法及代碼示例
- Rust BufReader.with_capacity用法及代碼示例
- Rust BufReader.capacity用法及代碼示例
- Rust BufReader.buffer用法及代碼示例
- Rust BufRead用法及代碼示例
- Rust BufReader用法及代碼示例
- Rust BufReader.get_ref用法及代碼示例
- Rust BufReader.into_inner用法及代碼示例
- Rust BufWriter.capacity用法及代碼示例
- Rust BufWriter.get_ref用法及代碼示例
- Rust BufWriter.get_mut用法及代碼示例
- Rust BufWriter.into_inner用法及代碼示例
- Rust BufWriter用法及代碼示例
- Rust BufWriter.with_capacity用法及代碼示例
- Rust BufWriter.new用法及代碼示例
- Rust BufWriter.into_parts用法及代碼示例
- Rust BufWriter.buffer用法及代碼示例
- Rust Builder.stack_size用法及代碼示例
- Rust BuildHasher.build_hasher用法及代碼示例
注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 std::io::BufRead.fill_buf。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。