file-io - 文本文件输入/输出期间的行尾转换

标签 file-io rust newline

如何将包含换行符的字符串(&strString)写入文本文件?

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 上不使用 CRLFwrite 有关,但得出的结论是:

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/

相关文章:

c - Visual Studio 2015 显示调试断言失败

rust - 使用 FFI 时如何创建 "C Blocks"?

newline - Imacros.... 在数据提取 CSV 文件中开始新行

c - 从 fgets() 输入中删除尾随换行符

Python写入线流

c++ - 如何创建新文件夹并将文件保存到其中?

c++ - Ofstream 对象不能使用 << 运算符 C++

Rust 生命周期和调用成员函数

rust - 是否可以在特征定义中使用 `impl Trait` 作为函数的返回类型?

android - 在字符串中添加换行符