pub struct Stdin(/* private fields */);
Expand description
A handle to the standard input of the current process.
This reader is created by the stdin
function. See its documentation for
more.
§Note: Windows Portability Consideration
When operating in a console, the Windows implementation of this stream does not support non-UTF-8 byte sequences. Attempting to write bytes that are not valid UTF-8 will return an error.
Implementations§
Source§impl Stdin
impl Stdin
Sourcepub async fn read_line(&self, buf: &mut String) -> Result<usize>
pub async fn read_line(&self, buf: &mut String) -> Result<usize>
Reads a line of input into the specified buffer.
§Examples
use async_std::io;
let stdin = io::stdin();
let mut line = String::new();
stdin.read_line(&mut line).await?;
Sourcepub async fn lock(&self) -> StdinLock<'static>
Available on unstable
only.
pub async fn lock(&self) -> StdinLock<'static>
unstable
only.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 trait for accessing the underlying data.
§Examples
use async_std::io;
use async_std::prelude::*;
let mut buffer = String::new();
let stdin = io::stdin();
let mut handle = stdin.lock().await;
handle.read_to_string(&mut buffer).await?;
Trait Implementations§
Source§impl AsRawHandle for Stdin
Available on Windows only.
impl AsRawHandle for Stdin
Available on Windows only.
Source§fn as_raw_handle(&self) -> RawHandle
fn as_raw_handle(&self) -> RawHandle
Extracts the raw handle, without taking any ownership.
Source§impl Read for Stdin
impl Read for Stdin
Source§fn poll_read(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
buf: &mut [u8],
) -> Poll<Result<usize>>
fn poll_read( self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &mut [u8], ) -> Poll<Result<usize>>
Attempt to read from the
AsyncRead
into buf
.Source§fn poll_read_vectored(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
bufs: &mut [IoSliceMut<'_>],
) -> Poll<Result<usize>>
fn poll_read_vectored( self: Pin<&mut Self>, cx: &mut Context<'_>, bufs: &mut [IoSliceMut<'_>], ) -> Poll<Result<usize>>
Attempt to read from the
AsyncRead
into bufs
using vectored IO operations.Source§fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> ImplFuture<Result<usize>>where
Self: Unpin,
fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> ImplFuture<Result<usize>>where
Self: Unpin,
Reads some bytes from the byte stream. Read more
Source§fn read_vectored<'a>(
&'a mut self,
bufs: &'a mut [IoSliceMut<'a>],
) -> ImplFuture<Result<usize>>where
Self: Unpin,
fn read_vectored<'a>(
&'a mut self,
bufs: &'a mut [IoSliceMut<'a>],
) -> ImplFuture<Result<usize>>where
Self: Unpin,
Source§fn read_to_end<'a>(
&'a mut self,
buf: &'a mut Vec<u8>,
) -> ImplFuture<Result<usize>>where
Self: Unpin,
fn read_to_end<'a>(
&'a mut self,
buf: &'a mut Vec<u8>,
) -> ImplFuture<Result<usize>>where
Self: Unpin,
Reads all bytes from the byte stream. Read more
Source§fn read_to_string<'a>(
&'a mut self,
buf: &'a mut String,
) -> ImplFuture<Result<usize>>where
Self: Unpin,
fn read_to_string<'a>(
&'a mut self,
buf: &'a mut String,
) -> ImplFuture<Result<usize>>where
Self: Unpin,
Reads all bytes from the byte stream and appends them into a string. Read more
Source§fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ImplFuture<Result<()>>where
Self: Unpin,
fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ImplFuture<Result<()>>where
Self: Unpin,
Reads the exact number of bytes required to fill
buf
. Read moreSource§fn take(self, limit: u64) -> Take<Self>where
Self: Sized,
fn take(self, limit: u64) -> Take<Self>where
Self: Sized,
Creates an adaptor which will read at most
limit
bytes from it. Read moreSource§fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
Creates a “by reference” adaptor for this instance of
Read
. Read moreAuto Trait Implementations§
impl !Freeze for Stdin
impl RefUnwindSafe for Stdin
impl Send for Stdin
impl Sync for Stdin
impl Unpin for Stdin
impl UnwindSafe for Stdin
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> ReadExt for T
impl<T> ReadExt for T
Source§fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadFuture<'a, Self>where
Self: Unpin,
fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadFuture<'a, Self>where
Self: Unpin,
Reads some bytes from the byte stream. Read more
Source§fn read_vectored<'a>(
&'a mut self,
bufs: &'a mut [IoSliceMut<'a>],
) -> ReadVectoredFuture<'a, Self>where
Self: Unpin,
fn read_vectored<'a>(
&'a mut self,
bufs: &'a mut [IoSliceMut<'a>],
) -> ReadVectoredFuture<'a, Self>where
Self: Unpin,
Source§fn read_to_end<'a>(
&'a mut self,
buf: &'a mut Vec<u8>,
) -> ReadToEndFuture<'a, Self>where
Self: Unpin,
fn read_to_end<'a>(
&'a mut self,
buf: &'a mut Vec<u8>,
) -> ReadToEndFuture<'a, Self>where
Self: Unpin,
Reads all bytes from the byte stream. Read more
Source§fn read_to_string<'a>(
&'a mut self,
buf: &'a mut String,
) -> ReadToStringFuture<'a, Self>where
Self: Unpin,
fn read_to_string<'a>(
&'a mut self,
buf: &'a mut String,
) -> ReadToStringFuture<'a, Self>where
Self: Unpin,
Reads all bytes from the byte stream and appends them into a string. Read more
Source§fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadExactFuture<'a, Self>where
Self: Unpin,
fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadExactFuture<'a, Self>where
Self: Unpin,
Reads the exact number of bytes required to fill
buf
. Read moreSource§fn take(self, limit: u64) -> Take<Self>where
Self: Sized,
fn take(self, limit: u64) -> Take<Self>where
Self: Sized,
Creates an adaptor which will read at most
limit
bytes from it. Read moreSource§fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
Creates a “by reference” adaptor for this instance of
Read
. Read more