我在Windows 10上使用Rust 1.9。在播放一些代码并比较从标准输出中捕获的结果时,我注意到输出使用的是Linux行,结尾为0x0A(10,LF),而不是windows 0x0D 0x0A(13 10, CR LF)。我试过以下:
println!("{} or {} = {}", a, b, a | b);
print!("{} or {} = {}\n", a, b, a | b);
有没有办法强制使用Windows行结尾?
答案 0 :(得分:7)
如果您查看the implementation of println!
,那就非常简单了:
macro_rules! println {
($fmt:expr) => (print!(concat!($fmt, "\n")));
($fmt:expr, $($arg:tt)*) => (print!(concat!($fmt, "\n"), $($arg)*));
}
您可以复制粘贴修改此内容,将\n
替换为\r\n
:
macro_rules! wprintln {
($fmt:expr) => (print!(concat!($fmt, "\r\n")));
($fmt:expr, $($arg:tt)*) => (print!(concat!($fmt, "\r\n"), $($arg)*));
}