本文简要介绍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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。