如何将包含换行符的字符串(&str
和String
)写入文本文件?
在 C
中,您可以在按原样编写文本或通过 fopen
将 '\n'
转换为适用于操作系统的正确行尾符号之间切换> 标志,"w"
或 "wb"
。例如,在 Windows 中,'\n'
在 I/O 期间被转换为 "\r\n"
。
我如何使用 Rust 实现这一目标?我在 std::fs::File
中找不到相应的 API。
最佳答案
标准库中没有这样的 API(不过可能有一个 crate)。将行写入文件的最简单方法是使用 writeln!
宏,它只使用 \n
作为换行符。
它可能被(Rust 开发人员)认为不够有用,因为我很确定现在 \r\n
仅用于 Microsoft 记事本兼容性。
曾经有一个issue与在 Windows 上不使用 CRLF
的write
有关,但得出的结论是:
the raw
io::File
will likely not handle it by default but would instead require a wrapper
(注意:从 Rust 1.0 开始,它不再是 io::File
,而是 fs::File
)
关于file-io - 文本文件输入/输出期间的行尾转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45742446/