我试图在Rust中打印一个格式化的字符串到stderr
(好奇的新手在这里!),但它看起来像一个简单方便的宏(如stdout
的print!/println!
)在标准库中没有提供。
在C语言中,可以这样做:
fprintf(stderr, "format_string", args ...);
我已经成功地用
将字符串字面值打印到stderr
let stderr = std::io::stderr();
writeln!(&mut stderr, "literal");
想到的下一件事是先做一个format!
,然后使用writeln!
,不能用error: expected a literal
编译。另一方面,stderr.write()
期望&[u8]
,所以使用String::bytes().collect()
也不能真正工作。
正确的解决方案是什么?
查看链接副本的答案。从Rust 1.19开始,你可以使用eprintln!
宏