pub struct Stdout { /* private fields */ }Expand description
A handle to the global standard output stream of the current process.
Each handle shares a global buffer of data to be written to the standard
output stream. Access is also synchronized via a lock and explicit control
over locking is available via the lock method.
By default, the handle is line-buffered when connected to a terminal, meaning
it flushes automatically when a newline (\n) is encountered. For immediate
output, you can manually call the flush method. When the handle goes out
of scope, the buffer is automatically flushed.
Created by the io::stdout method.
ยงNote: Windows Portability Considerations
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.
In a process with a detached console, such as one using
#![windows_subsystem = "windows"], or in a child process spawned from such a process,
the contained handle will be null. In such cases, the standard libraryโs Read and
Write will do nothing and silently succeed. All other I/O operations, via the
standard library or via raw Windows API calls, will fail.
Implementationsยง
Trait Implementationsยง
1.63.0 ยท Sourceยงimpl AsFd for Stdout
Available on Hermit or Motor OS or Trusty or Unix or WASI only.
impl AsFd for Stdout
Sourceยงfn as_fd(&self) -> BorrowedFd<'_>
fn as_fd(&self) -> BorrowedFd<'_>
1.63.0 ยท Sourceยงimpl AsHandle for Stdout
Available on Windows only.
impl AsHandle for Stdout
Sourceยงfn as_handle(&self) -> BorrowedHandle<'_>
fn as_handle(&self) -> BorrowedHandle<'_>
1.21.0 ยท Sourceยงimpl AsRawFd for Stdout
Available on Hermit or Motor OS or Trusty or Unix or WASI only.
impl AsRawFd for Stdout
1.21.0 ยท Sourceยงimpl AsRawHandle for Stdout
Available on Windows only.
impl AsRawHandle for Stdout
Sourceยงfn as_raw_handle(&self) -> RawHandle
fn as_raw_handle(&self) -> RawHandle
1.70.0 ยท Sourceยงimpl IsTerminal for Stdout
impl IsTerminal for Stdout
Sourceยงfn is_terminal(&self) -> bool
fn is_terminal(&self) -> bool
true if the descriptor/handle refers to a terminal/tty. Read moreimpl RefUnwindSafe for Stdout
Sourceยงimpl StdioExt for Stdout
Available on Unix only.
impl StdioExt for Stdout
Sourceยงfn set_fd<T: Into<OwnedFd>>(&mut self, fd: T) -> Result<()>
fn set_fd<T: Into<OwnedFd>>(&mut self, fd: T) -> Result<()>
stdio_swap #150667)fd. Read moreimpl UnwindSafe for Stdout
1.0.0 ยท Sourceยงimpl Write for Stdout
impl Write for Stdout
Sourceยงfn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
Sourceยงfn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
can_vector #69941)Sourceยงfn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Sourceยงfn write_all(&mut self, buf: &[u8]) -> Result<()>
fn write_all(&mut self, buf: &[u8]) -> Result<()>
Sourceยงfn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<()>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<()>
write_all_vectored #70436)1.48.0 ยท Sourceยงimpl Write for &Stdout
impl Write for &Stdout
Sourceยงfn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
Sourceยงfn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
can_vector #69941)Sourceยงfn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Sourceยงfn write_all(&mut self, buf: &[u8]) -> Result<()>
fn write_all(&mut self, buf: &[u8]) -> Result<()>
Sourceยงfn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<()>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<()>
write_all_vectored #70436)