Rust:如何使格式化的打印错误



我试图在Rust中打印一个格式化的字符串到stderr(好奇的新手在这里!),但它看起来像一个简单方便的宏(如stdoutprint!/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!

相关内容

  • 没有找到相关文章

最新更新