Struct std::io::Stdout
pub struct Stdout { /* fields omitted */ }
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.
Created by the io::stdout
method.
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
impl Stdout
pub fn lock(&self) -> StdoutLock<'_>
impl Write for StdoutLock<'_>
Locks this handle to the standard output stream, returning a writable guard.
The lock is released when the returned lock goes out of scope. The returned guard also implements the Write
trait for writing data.
Examples
use std::io::{self, Write}; fn main() -> io::Result<()> { let stdout = io::stdout(); let mut handle = stdout.lock(); handle.write_all(b"hello world")?; Ok(()) }
pub fn into_locked(self) -> StdoutLock<'static>
impl Write for StdoutLock<'_>
Consumes this handle to the standard output stream, locking the shared global buffer associated with the stream and returning a writable guard.
The lock is released when the returned lock goes out of scope. The returned guard also implements the Write
trait for writing data.
It is often simpler to directly get a locked handle using the io::stdout_locked
function instead, unless nearby code also needs to use an unlocked handle.
Examples
#![feature(stdio_locked)] use std::io::{self, Write}; fn main() -> io::Result<()> { let mut handle = io::stdout().into_locked(); handle.write_all(b"hello world")?; Ok(()) }
Trait Implementations
impl AsFd for Stdout
fn as_fd(&self) -> BorrowedFd<'_>
Borrows the file descriptor. Read more
impl AsRawFd for Stdout
fn as_raw_fd(&self) -> RawFd
Extracts the raw file descriptor. Read more
fn as_raw_handle(&self) -> RawHandle
Extracts the raw handle, without taking any ownership.
impl Debug for Stdout
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Formats the value using the given formatter. Read more
impl Write for Stdout
fn write(&mut self, buf: &[u8]) -> Result<usize>
Write a buffer into this writer, returning how many bytes were written. Read more
fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize>
fn is_write_vectored(&self) -> bool
Determines if this Write
r has an efficient write_vectored
implementation. Read more
fn flush(&mut self) -> Result<()>
Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
fn write_all(&mut self, buf: &[u8]) -> Result<()>
Attempts to write an entire buffer into this writer. Read more
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<()>
Attempts to write multiple buffers into this writer. Read more
fn write_fmt(&mut self, args: Arguments<'_>) -> Result<()>
Writes a formatted string into this writer, returning any error encountered. Read more
Creates a “by reference” adapter for this instance of Write
. Read more
impl Write for &Stdout
fn write(&mut self, buf: &[u8]) -> Result<usize>
Write a buffer into this writer, returning how many bytes were written. Read more
fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize>
fn is_write_vectored(&self) -> bool
Determines if this Write
r has an efficient write_vectored
implementation. Read more
fn flush(&mut self) -> Result<()>
Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
fn write_all(&mut self, buf: &[u8]) -> Result<()>
Attempts to write an entire buffer into this writer. Read more
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<()>
Attempts to write multiple buffers into this writer. Read more
fn write_fmt(&mut self, args: Arguments<'_>) -> Result<()>
Writes a formatted string into this writer, returning any error encountered. Read more
Creates a “by reference” adapter for this instance of Write
. Read more
Auto Trait Implementations
impl RefUnwindSafe for Stdout
impl Send for Stdout
impl Sync for Stdout
impl Unpin for Stdout
impl UnwindSafe for Stdout
Blanket Implementations
impl<T> From<T> for T
pub fn from(t: T) -> T
Performs the conversion.
pub fn into(self) -> U
Performs the conversion.
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
Performs the conversion.
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
Performs the conversion.
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/io/struct.Stdout.html