【发布时间】:2021-03-27 05:32:07
【问题描述】:
let mut buffer = Vec::with_capacity(10);
stream.read_vectored(&mut buffer);
上面的代码将buffer 转换为IoSliceMut 向量,但我不知道如何从该向量中读取或如何将其转换回Vec<u8>。
【问题讨论】:
-
除非您使用了原始的
u8向量,否则它不会发生任何事情,read_vectored是引用原始stream的一种方式。当buffer超出范围时,就像所有引用都消失了,您可以像往常一样使用原始数据 -
要读取您迭代
buffer的数据,您可以将Deref每个IoSliceMut转换为u8的一部分,还有 plenty of methods 可以读取这些数据。 -
@AlexLarionov 感谢您的意见,我会立即调查。
标签: arrays vector rust buffer slice