使用 '\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”。
我有一个程序遍历文本文件的所有行,在字符之间添加空格,并将输出写入同一个文件。但是,如果输入中有多行,我希望输出也有单独的行。我试过了:
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”。