pub fn stderr() -> Stderr ⓘ
Expand description
为当前进程的标准错误创建一个新的句柄。
此句柄未缓冲。
Note: Windows 可移植性注意事项
在控制台中操作时,此流的 Windows 实现不支持非 UTF-8 字节序列。 尝试写入无效的 UTF-8 字节将返回错误。
在具有分离控制台的进程中,例如使用 #![windows_subsystem = "windows"]
的进程,或在从此类进程派生的子进程中,包含的句柄将为空。
在这种情况下,标准库的 Read
和 Write
将什么都不做,默默地成功。
通过标准库或通过原始 Windows API 调用的所有其他 I/O 操作都将失败。
Examples
使用隐式同步:
use std::io::{self, Write};
fn main() -> io::Result<()> {
io::stderr().write_all(b"hello world")?;
Ok(())
}
Run使用显式同步:
use std::io::{self, Write};
fn main() -> io::Result<()> {
let stderr = io::stderr();
let mut handle = stderr.lock();
handle.write_all(b"hello world")?;
Ok(())
}
Run