gpt4 book ai didi

file - Erlang,如何创建带有换行符的文本文件?

转载 作者:行者123 更新时间:2023-12-04 20:01:02 26 4
gpt4 key购买 nike

有人知道如何在Erlang 语言的文本文件中添加一个新行 吗?我想保存这个列表:

Data = ["one", "two", "three"],

进入带有新行的文本文件:

one
two
three

我试过:

write() ->
Data = ["1","2","3"],
Print = string:join(Data, "\n"),
file:write_file("/Documents/foo.txt", [Print]).

但它会创建一个包含内联数据的文本文件:

one\ntwo\nthree

最佳答案

我猜你是在 Windows 上运行你的代码,所以你需要 "\r\n" 作为行分隔符。您可以通过调用 io_lib:nl/0 获取适合您所在平台的行分隔符。

试试这个:

write() ->
Data = ["1","2","3"],
LineSep = io_lib:nl(),
Print = [string:join(Data, LineSep), LineSep],
file:write_file("/Documents/foo.txt", Print).

这里,Printiodata 的一个实例,它是一个 iolist 或一个 binary,其中iolist 是一个任意深度的列表,由一个或多个字符、二进制文件或其他 iolist 组成。在 Erlang 中,这是一种非常方便的输出数据类型,因为这意味着您可以避免在将数据写入文件或通过套接字发送之前将数据展平。此版本的 write 函数对 Print 变量使用 iodata 形式,以轻松确保紧跟写入文件的最后一行数据通过行分隔符,string:join/2 本身不会做的事情。

关于file - Erlang,如何创建带有换行符的文本文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28573008/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com