# Function std::io::stdin 1.0.0 [−] [src]

    pub fn stdin() -> Stdin

Constructs a new handle to the standard input of the current process.

Each handle returned is a reference to a shared global buffer whose access is synchronized via a mutex. If you need more explicit control over locking, see the `lock() method`.

# Examples

Using implicit synchronization:

fn main() { use std::io::{self, Read}; fn foo() -> io::Result<String> { let mut buffer = String::new(); try!(io::stdin().read_to_string(&mut buffer)); Ok(buffer) } }

    use std::io::{self, Read};

    let mut buffer = String::new();
    try!(io::stdin().read_to_string(&mut buffer));

Using explicit synchronization:

fn main() { use std::io::{self, Read}; fn foo() -> io::Result<String> { let mut buffer = String::new(); let stdin = io::stdin(); let mut handle = stdin.lock(); try!(handle.read_to_string(&mut buffer)); Ok(buffer) } }

    use std::io::{self, Read};

    let mut buffer = String::new();
    let stdin = io::stdin();
    let mut handle = stdin.lock();

    try!(handle.read_to_string(&mut buffer));

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
⇤
  Move up in search results
⇥
  Move down in search results
⏎
  Go to active search result
+
  Collapse/expand all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)