使用 '\n' 将多行写入文本文件

Write multiple lines to text file with '\n'

我有一个程序遍历文本文件的所有行,在字符之间添加空格,并将输出写入同一个文件。但是,如果输入中有多行,我希望输出也有单独的行。我试过了:

let text = format!(r"{}\n", line); // Add newline character to each line (while iterating)
file.write_all(text.as_bytes()); // Write each line + newline

这是一个示例输入文本文件:

foo
bar
baz

及其输出:

f o o\n b a r\n b a z

Rust 似乎将 "\n" 视为转义的 n 字符,但使用 r"\n" 将其视为字符串。我如何让 Rust 将 \n 视为换行符以将多行写入文本文件?

注意:如果您需要,我可以包括我的其余代码,请告诉我。

编辑:我在 Windows 7 64 位

问题出在字符串前面的 'r'。删除它,您的程序将打印换行符而不是 '\n'。

另请注意,只有大多数 Unice 使用 '\n' 作为换行符。 Windows 使用“\r\n”。