當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Rust FileExt.write_all_at用法及代碼示例


本文簡要介紹rust語言中 std::os::unix::fs::FileExt.write_all_at 的用法。

用法

fn write_all_at(&self, buf: &[u8], offset: u64) -> Result<()>

嘗試從給定的偏移量開始寫入整個緩衝區。

偏移量相對於文件的開頭,因此獨立於當前光標。

當前文件光標不受此函數影響。

此方法將不斷調用 write_at ,直到沒有更多數據要寫入或返回非 io::ErrorKind::Interrupted 類型的錯誤。在整個緩衝區成功寫入或發生此類錯誤之前,此方法不會返回。將返回由該方法生成的第一個不屬於 io::ErrorKind::Interrupted 類型的錯誤。

錯誤

此函數將返回 write_at 返回的第一個非 io::ErrorKind::Interrupted 類型的錯誤。

例子

use std::fs::File;
use std::io;
use std::os::unix::prelude::FileExt;

fn main() -> io::Result<()> {
    let file = File::open("foo.txt")?;

    // We now write at the offset 10.
    file.write_all_at(b"sushi", 10)?;
    Ok(())
}

相關用法


注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 std::os::unix::fs::FileExt.write_all_at。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。