Struct std::io::Stdin [] [src]

pub struct Stdin {
    // some fields omitted
}

A handle to the standard input stream of a process.

Each handle is a shared reference to a global buffer of input data to this process. A handle can be lock`lock'd to gain full access to`'d to gain full access to BufRead`BufReadmethods (e.g.` methods (e.g. .lines()`.lines()`). Writes to this handle are otherwise locked with respect to other writes.

This handle implements the Read`Readtrait, but beware that concurrent reads of` trait, but beware that concurrent reads of Stdin`Stdin` must be executed with care.

Created by the function io::stdin()`io::stdin()`.

Methods

impl Stdin

fn lock(&self) -> StdinLock

Locks this handle to the standard input stream, returning a readable guard.

The lock is released when the returned lock goes out of scope. The returned guard also implements the Read`Readand` and BufRead`BufRead` traits for accessing the underlying data.

fn read_line(&mut self, buf: &mut String) -> Result<usize>

Locks this handle and reads a line of input into the specified buffer.

For detailed semantics of this method, see the documentation on BufRead::read_line`BufRead::read_line`.

Trait Implementations

impl Read for Stdin

fn read(&mut self, buf: &mut [u8]) -> Result<usize>

fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize>

fn read_to_string(&mut self, buf: &mut String) -> Result<usize>

fn by_ref(&mut self) -> &mut Self where Self: Sized

fn bytes(self) -> Bytes<Self> where Self: Sized

fn chars(self) -> Chars<Self> where Self: Sized

fn chain<R: Read>(self, next: R) -> Chain<Self, R> where Self: Sized

fn take(self, limit: u64) -> Take<Self> where Self: Sized

fn tee<W: Write>(self, out: W) -> Tee<Self, W> where Self: Sized