为什么 std::io::stdout()
返回带有 LineWriter
的标准输出?
如果没有stdout
,我们如何获得LineWriter
?
https://www.reddit.com/r/rust/comments/6hoayo/how_do_i_write_to_stdout_without_line_buffering/
use std::os::unix::io::FromRawFd;
let stdout = unsafe { std::fs::File::from_raw_fd(1) };
let mut writer = std::io::BufWriter::with_capacity(2, stdout);
writer.write(b"S").unwrap();
这里有一个不安全代码的问题,但为什么没有任何简单的方法来做到这一点?