pub trait Seek { fn seek(&mut self, pos: SeekFrom) -> Result<u64>; }
The Seek
trait provides a cursor which can be moved within a stream of bytes.
The stream typically has a fixed size, allowing seeking relative to either end or the current offset.
File
s implement Seek
:
use std::io; use std::io::prelude::*; use std::fs::File; use std::io::SeekFrom; let mut f = File::open("foo.txt")?; // move the cursor 42 bytes from the start of the file f.seek(SeekFrom::Start(42))?;
fn seek(&mut self, pos: SeekFrom) -> Result<u64>
Seek to an offset, in bytes, in a stream.
A seek beyond the end of a stream is allowed, but implementation defined.
If the seek operation completed successfully, this method returns the new position from the start of the stream. That position can be used later with SeekFrom::Start
.
Seeking to a negative offset is considered an error.
impl Seek for File
impl<'a> Seek for &'a File
impl<R: Seek> Seek for BufReader<R>
impl<W: Write + Seek> Seek for BufWriter<W>
impl<T> Seek for Cursor<T> where T: AsRef<[u8]>
impl<'a, S: Seek + ?Sized> Seek for &'a mut S
impl<S: Seek + ?Sized> Seek for Box<S>
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/io/trait.Seek.html