erlang,将整数值写入文件
我想将整数值打印到文件中。我可以将字符串值写入文件,但当我尝试写入整数值时,会出现错误:erlang,将整数值写入文件,erlang,Erlang,我想将整数值打印到文件中。我可以将字符串值写入文件,但当我尝试写入整数值时,会出现错误: %this works fine {ok, F}=file:open("bff.txt", [read,write]), Val="howdy", file:write(F,Val). %this gets compiled, but results in error {error, badarg} while executing {ok, F}=file:open("bff.txt", [read,wr
%this works fine
{ok, F}=file:open("bff.txt", [read,write]),
Val="howdy",
file:write(F,Val).
%this gets compiled, but results in error {error, badarg} while executing
{ok, F}=file:open("bff.txt", [read,write]),
Val=23424,
file:write(F,Val).
有什么建议吗?实际上,我想为web服务器编写一个基准测试代码,我需要将所有时间值和请求数写入一个输出文件,然后我将使用它用gnuplot绘制图形。使用
integer\u to\u list/1
将整数转换为file:write/2
的列表
{ok, F}=file:open("bff.txt", [read,write]),
Val=integer_to_list(23424),
file:write(F,Val).
这是因为
file:write
只能输出字符串。另一种方法是使用io
模块中的函数,这些函数也可以处理文件。因此io:write(File,Val)
将起作用。您也可以使用格式化io函数io:format
。这实际上取决于您希望如何格式化数据以及如何读取数据,如果您打算读取数据,仅使用io:write
写入整数将不会非常有用。您可以使用term\u to\u binary和binary\u to\u term:
{ok, F} = file:open("bff.txt", [read,write]),
Val = [1,2,3,4],
Data = term_to_binary(Val),
file:write(F, Data),
{ok, BinaryData} = file:read_file("bff.txt"),
Val = binary_to_term(BinaryData),
io:format("~s~w~s", ["Value: ", Val, "\n"]).