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

ⓘImportant traits for Stdin

### Important traits for Stdin

`impl Read for Stdin`

    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:

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

    fn main() -> io::Result<()> {
        let mut buffer = String::new();
        io::stdin().read_to_string(&mut buffer)?;
        Ok(())
    }Run

Using explicit synchronization:

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

    fn main() -> io::Result<()> {
        let mut buffer = String::new();
        let stdin = io::stdin();
        let mut handle = stdin.lock();

        handle.read_to_string(&mut buffer)?;
        Ok(())
    }Run

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse 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`)

Search multiple things at once by splitting your query with comma (e.g. `str,u8` or `String,struct:Vec,test`)