pub struct Stdout { /* fields omitted */ }
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.
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
pub fn lock(&self) -> StdoutLock<'_>ⓘNotable traits for StdoutLock<'_>impl Write for StdoutLock<'_>
pub fn lock(&self) -> StdoutLock<'_>ⓘNotable traits for StdoutLock<'_>impl Write for 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(())
}
Runpub fn into_locked(self) -> StdoutLock<'static>ⓘNotable traits for StdoutLock<'_>impl Write for StdoutLock<'_>
pub fn into_locked(self) -> StdoutLock<'static>ⓘNotable traits for StdoutLock<'_>impl Write for StdoutLock<'_>
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(())
}
RunTrait Implementations
Extracts the raw handle, without taking any ownership.
Write a buffer into this writer, returning how many bytes were written. Read more
Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
Attempts to write an entire buffer into this writer. Read more
Writes a formatted string into this writer, returning any error encountered. Read more
Write a buffer into this writer, returning how many bytes were written. Read more
Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
Attempts to write an entire buffer into this writer. Read more
Writes a formatted string into this writer, returning any error encountered. Read more