在换行符中写一个字符串

时间:2015-01-19 06:26:04

标签: file erlang ejabberd

我们如何在erlang的换行符中追加一个字符串? 直到现在我已经这样做了:

file:write_file("test5.txt", "\\nAbh~~nimanyu", [append]).
file:write_file("test5.txt", "\nAbh~nimanyu", [append]).

是的,它是在文件中写入字符串,但它没有在换行符中写入字符串。

文件中的输出如下:

Abh~nimanyu\nAbh~nimanyu

1 个答案:

答案 0 :(得分:0)

使用格式字符串函数时,可以使用换行符格式序列~n\n创建带换行符的字符串。

问题是file:write_file期待未格式化的字符串,并且不会自动将~n转换为换行符。

io_lib:formatio_lib:fwrite会使用~n~p~s等格式表达式正确扩展字符串,并返回格式化字符串。

以下内容应给出预期结果:

Formatted = io_lib:format("\nAbh~nimanyu", []),
file:write_file("test5.txt", Formatted, [append]).

或者,您可以使用\n并跳过io_lib:format功能:

file:write_file("test5.txt", "\nAbh\nimanyu", [append]).