Function std::io::read_to_string [−][src]
pub fn read_to_string<R: Read>(reader: &mut R) -> Result<String>
Expand description
这是 Read::read_to_string
的便捷函数。
使用此函数避免了必须先创建变量,并且提供了更多的类型安全性,因为只有在没有错误的情况下才可以取出缓冲区。
(如果使用 Read::read_to_string
,则必须记住检查读取是否成功,否则缓冲区将为空或仅部分充满。)
Performance
该函数提高了易用性和类型安全性的缺点是,它使您对性能的控制较少。
例如,您不能像使用 String::with_capacity
和 Read::read_to_string
一样预先分配内存。
另外,如果读取时发生错误,则无法重新使用缓冲区。
在许多情况下,此函数的性能将是适当的,并且易于使用和类型安全性的折衷是值得的。
但是,在某些情况下,您需要对性能进行更多控制,在这些情况下,您绝对应该直接使用 Read::read_to_string
。
Errors
此函数迫使您处理错误,因为输出 (String
) 包装在 Result
中。
有关可能发生的错误,请参见 Read::read_to_string
。
如果发生任何错误,您将得到 Err
,因此您不必担心缓冲区为空或部分已满。
Examples
#![feature(io_read_to_string)] fn main() -> io::Result<()> { let stdin = io::read_to_string(&mut io::stdin())?; println!("Stdin was:"); println!("{}", stdin); Ok(()) }Run