本文简要介绍rust语言中 std::io::Write.write
的用法。
用法
fn write(&mut self, buf: &[u8]) -> Result<usize>
将缓冲区写入此写入器,返回写入的字节数。
该函数将尝试写入的全部内容buf
,但整个写入可能不会成功,或者写入也可能会产生错误。调用write
代表最多一个尝试写入任何包装的对象。
对write
的调用不能保证阻塞等待写入数据,并且可以通过 Err
变体指示否则会阻塞的写入。
如果返回值为 Ok(n)
那么必须保证 n <= buf.len()
。 0
的返回值通常意味着底层对象不再能够接受字节并且将来也可能无法接受,或者提供的缓冲区为空。
错误
对write
的每次调用都可能生成一个指示操作无法完成的 I/O 错误。如果返回错误,则缓冲区中的任何字节都不会写入此写入器。
如果无法将整个缓冲区写入此写入器,则不会将其视为错误。
ErrorKind::Interrupted
类型的错误是非致命的,如果没有其他事情可做,则应重试写入操作。
例子
use std::io::prelude::*;
use std::fs::File;
fn main() -> std::io::Result<()> {
let mut buffer = File::create("foo.txt")?;
// Writes some prefix of the byte string, not necessarily all of it.
buffer.write(b"some bytes")?;
Ok(())
}
相关用法
- Rust Write.write_all用法及代码示例
- Rust Write.write_str用法及代码示例
- Rust Write.write_vectored用法及代码示例
- Rust Write.write_all_vectored用法及代码示例
- Rust Write.write_char用法及代码示例
- Rust Write.write_fmt用法及代码示例
- Rust Write.by_ref用法及代码示例
- Rust Write.flush用法及代码示例
- Rust Write用法及代码示例
- Rust WriterPanicked用法及代码示例
- Rust Wrapping.is_negative用法及代码示例
- Rust Wrapping.from_le用法及代码示例
- Rust Wrapping.reverse_bits用法及代码示例
- Rust Wrapping.to_be用法及代码示例
- Rust Wrapping.next_power_of_two用法及代码示例
- Rust Wrapping.is_power_of_two用法及代码示例
- Rust Wrapping.abs用法及代码示例
- Rust Wrapping.rotate_right用法及代码示例
- Rust Wrapping.leading_zeros用法及代码示例
- Rust Wrapping.signum用法及代码示例
- Rust Wrapping.trailing_zeros用法及代码示例
- Rust Wrapping.from_be用法及代码示例
- Rust Wrapping.to_le用法及代码示例
- Rust Wrapping.count_zeros用法及代码示例
- Rust Wrapping.swap_bytes用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 std::io::Write.write。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。