4 个版本
使用旧的 Rust 2015
0.0.4 | 2018 年 8 月 7 日 |
---|---|
0.0.3 | 2018 年 4 月 2 日 |
0.0.2 | 2017 年 8 月 14 日 |
0.0.1 | 2017 年 4 月 27 日 |
#1491 in 文件系统
在 2 个 Crates 中使用(通过 posy)
11KB
134 行
slice.
创建 io 对象的切片 std::io::Read
和 std::io::Write
.
如果你有一个文件(或任何其他对象),你可以创建它的某个子集的切片(或视图)。
IoSlice
实现了 std::io::Read
和 std::io::Write
,当源实现这些接口时(如果源只实现一个,则只实现一个)。
示例用法。
use { std::fs::File, slice::IoSlice };
let source = File::open("/home/annie/data.png")?;
let start = 10;
let length = 1000;
// create a slice into `home/annie/data.png`, consisting of bytes [10 .. 10 + 1000]
// of that file.
//
// `slice` impls both `std::io::Read` and `std::io::Write` because `source`
// does too.
let slice = IoSlice::new(source, start, length);
// use like any other `std::io::Read` or `std::io::Write`:
//
// slice.read_to_string(...)?;
// slice.read_exact(...)?;
// slice.write_all(...)?;
//
// writeln!(slice, "hello {}", name)?;
//
lib.rs
:
创建 IO 对象的切片 - std::io::Read
和 std::io::Write
.
如果你有一个文件(或任何其他对象),你可以创建它的某个子集的切片(或视图)。
IoSlice
实现了 std::io::Read
和 std::io::Write
,当源实现这些接口时(如果源只实现一个,则只实现一个)。
示例用法。
use { std::fs::File, slice::IoSlice };
let source = File::open("/home/annie/data.png")?;
let start = 10;
let length = 1000;
// create a slice into `home/annie/data.png`, consisting of bytes [10 .. 10 + 1000]
// of that file.
//
// `slice` impls both `std::io::Read` and `std::io::Write` because `source`
// does too.
let slice = IoSlice::new(source, start, length);
// use like any other `std::io::Read` or `std::io::Write`:
//
// slice.read_to_string(...)?;
// slice.read_exact(...)?;
// slice.write_all(...)?;
//
// writeln!(slice, "hello {}", name)?;
//