Trait std::fmt::Write1.0.0[][src]

pub trait Write {
    fn write_str(&mut self, s: &str) -> Result<(), Error>;

    fn write_char(&mut self, c: char) -> Result<(), Error> { ... }
fn write_fmt(&mut self, args: Arguments<'_>) -> Result<(), Error> { ... } }
Expand description

trait,用于写入或格式化为 Unicode 接受的缓冲区或流。

trait 仅接受 UTF-8 编码的数据,而不是 flushable。 如果您只想接受 Unicode 且不需要冲洗,则应实现此 trait; 否则,请执行此操作。 否则,您应该实现 std::io::Write

Required methods

将字符串切片写入此 writer,返回写入是否成功。

仅当成功写入整个字符串切片后,此方法才能成功,并且只有在写入所有数据或发生错误后,该方法才会返回。

Errors

错误时,此函数将返回 Error 的实例。

Examples

use std::fmt::{Error, Write};

fn writer<W: Write>(f: &mut W, s: &str) -> Result<(), Error> {
    f.write_str(s)
}

let mut buf = String::new();
writer(&mut buf, "hola").unwrap();
assert_eq!(&buf, "hola");
Run

Provided methods

char 写入此 writer,返回写入是否成功。

单个 char 可以被编码为一个以上的字节。 仅当成功写入了整个字节序列后,此方法才能成功,并且直到所有数据都已写入或发生错误后,该方法才会返回。

Errors

错误时,此函数将返回 Error 的实例。

Examples

use std::fmt::{Error, Write};

fn writer<W: Write>(f: &mut W, c: char) -> Result<(), Error> {
    f.write_char(c)
}

let mut buf = String::new();
writer(&mut buf, 'a').unwrap();
writer(&mut buf, 'b').unwrap();
assert_eq!(&buf, "ab");
Run

结合使用 write! 宏和 trait 的实现者。

通常不应手动调用此方法,而应通过 write! 宏本身来调用。

Examples

use std::fmt::{Error, Write};

fn writer<W: Write>(f: &mut W, s: &str) -> Result<(), Error> {
    f.write_fmt(format_args!("{}", s))
}

let mut buf = String::new();
writer(&mut buf, "world").unwrap();
assert_eq!(&buf, "world");
Run

Implementors