gpt4 book ai didi

stream - 如何将字节推回 Rust 中的 Read 实现类型?

转载 作者:行者123 更新时间:2023-11-29 08:10:50 26 4
gpt4 key购买 nike

标准库中是否有Read 流类型支持将字节“推”回流中,这样后续读取会先返回所述字节,然后再返回流中的其他字节?

n = stream.read(&mut buf).unwrap();
if ... {
stream.???PUT_BACK???(&buf[..n])
}

最佳答案

看看 chain method of std::io::read及其示例(此处稍作修改):

fn main() {
use std::io::prelude::*;
use std::fs::File;

let f1 = File::open("foo.txt").unwrap();
let f2 = File::open("bar.txt").unwrap();

let mut handle = f1.chain(f2);

let mut buffer = String::new();
handle.read_to_string(&mut buffer).unwrap();
println!("{:?}", buffer);
}

无法使用原始的 Read 对象执行此操作,因为 trait 根本不提供此功能。如果您需要某种形式的前瞻,您需要查看 BufRead traitBufReader struct ,尽管它的前瞻性支持非常有限。

关于stream - 如何将字节推回 Rust 中的 Read 实现类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45520954/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com