本文簡要介紹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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。