Trait std::io::Seek [] [src]

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.

Examples

Files implement Seek:

fn main() { use std::io; use std::io::prelude::*; use std::fs::File; use std::io::SeekFrom; fn foo() -> io::Result<()> { let mut f = try!(File::open("foo.txt")); // move the cursor 42 bytes from the start of the file try!(f.seek(SeekFrom::Start(42))); Ok(()) } }
use std::io;
use std::io::prelude::*;
use std::fs::File;
use std::io::SeekFrom;

let mut f = try!(File::open("foo.txt"));

// move the cursor 42 bytes from the start of the file
try!(f.seek(SeekFrom::Start(42)));

Required Methods

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.

Errors

Seeking to a negative offset is considered an error.

Implementors