Trait std::os::windows::fs::FileExt1.15.0[][src]

pub trait FileExt {
    fn seek_read(&self, buf: &mut [u8], offset: u64) -> Result<usize>;
fn seek_write(&self, buf: &[u8], offset: u64) -> Result<usize>; }
This is supported on Windows only.
Expand description

Windows 特定于 fs::File 的扩展。

Required methods

搜寻到给定位置并读取多个字节。

返回读取的字节数。

偏移量相对于文件的开始,因此独立于当前游标。

当前游标受此函数的影响,它被设置为读取的结尾。

超出文件末尾的读取将始终以 0\ 的长度返回。

请注意,类似于 File::read,短读返回不会出错。 从如此短的读取返回时,文件指针仍会更新。

Examples

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

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

    // 从文件开头开始读取 10 个字节,从 72 个字节开始。
    file.seek_read(&mut buffer[..], 72)?;
    Ok(())
}
Run

搜寻到给定位置并写入多个字节。

返回写入的字节数。

偏移量相对于文件的开始,因此独立于当前游标。 当前游标受此函数的影响,它被设置为写入结束。

当写入超出文件末尾时,文件将适当扩展,并且中间字节将保持未初始化状态。

请注意,与 File::write 相似,返回短写也不是错误。 从这么短的写入返回时,文件指针仍会更新。

Examples

use std::fs::File;
use std::os::windows::prelude::*;

fn main() -> std::io::Result<()> {
    let mut buffer = File::create("foo.txt")?;

    // 从文件开头开始写一个字节字符串,从 72 个字节开始。
    buffer.seek_write(b"some bytes", 72)?;
    Ok(())
}
Run

Implementors