我对生锈完全陌生。我想逐块/块读取文件(每个块应包含 16 个字节)并将其(对于此测试场景)写入另一个文件 f2。所以我首先在这里尝试使用以下代码:
let mut buf = [0;16];
let mut count = 0;
for byte in f1.bytes() {
if count == 16 {
do_smth(&mut f2, &mut buf);
count = 0;
let data = byte?;
buf[count] = data;
} else {
let data = byte?;
buf[count] = data;
count +=1;
}
}
文件 f1 中的测试字节为:
0123456789abcdef-hello world, hello world!
文件 f2 中的结果是
0123456789abcdefhello world, hel
是否有一种高性能的方法可以在每次迭代时增加文件光标。
我阅读了有关查找功能的信息并对其进行了一些尝试,但没有找到解决方案。也许这可以通过每次交互增加文件光标来解决?
这是工作解决方案。
let mut buffer = [0; 16];
let mut count = 0;
while let Ok(n) = f1.read(&mut buffer[..]) {
if n != 16 {
let rest = &buffer[0..n];
do_smth(&mut f2, &rest);
break;
} else {
do_smth(&mut f2, &mut buffer);
count += n;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)