我有一个API,我需要将Vec<u8>
传递给该API,该API需要使用其参数来实现std::io::Seek
:
fn some_func<T: Seek + Write>(foo: &mut T) {/* body */}
板条箱作者建议在此处使用File
,但是我想避免在此处使用它,因为这会导致不必要的文件创建。 Vec<u8>
满足Write
特征,但不满足Seek
特征。有什么方法可以避免在这里使用File
?
答案 0 :(得分:2)
您可以将Vec<u8>
包裹在std::io::Cursor
中:
let mut buf: Cursor<Vec<u8>> = Cursor::new(Vec::new());
some_func(&mut buf);