从文件中读取最多n个字节

时间:2019-07-26 07:14:07

标签: rust

我知道从文件读取最多n个字节的唯一方法是this

use std::fs::File;
use std::io;
use std::io::prelude::*;

fn main() -> io::Result<()> {
    let mut f = File::open("foo.txt")?;
    let mut buffer = [0; 10];

    // read exactly 10 bytes
    f.read_exact(&mut buffer)?;
    Ok(())
}

我要实现的是:用户提供一个缓冲区和参数n,我将n个字节放入该缓冲区。

fn read_n_bytes(f: &File, n: usize, dst: &mut Vec<u8>) {
    let mut buffer = [0; n]; // error here, n isn't a constant
    f.read_exact(&mut buffer);
    // concat content of buffer to dst...
}

如何告诉read_exact直接将最多n个字节读入dst

fn read_n_bytes(f: &File, n: usize, dst: &mut Vec<u8>) {
    f.read_exact(dst, n);
}

0 个答案:

没有答案