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

时间:2015-07-03 22:05:49

标签: file-io newline rust

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

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位

1 个答案:

答案 0 :(得分:3)

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

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