0

如何在 Erlang 文件中指定行的末尾写一个单词,比如说

第 1 行:“他是约翰”

write_word("poem.txt",1," doe.").

第 1 行:“他是 john doe。”

这就是我能做到的:

 write_word(Filename, LineNumber, Word) ->
        {ok, Data} = file:open(FileName, [read, write]),
        % write the word at end of line with the specified line number
4

1 回答 1

0

下面提供的是一种伪代码(未经测试)。您还必须将内容写入新文件

openFile(FileName, Mode, DesiredLine) ->
    {ok, FD} = 文件:打开(文件名,模式),
    for_each_line(FD, 0, DesiredLine)。

for_each_line(FD, LineNo, DesiredLine) ->
    案例 io:get_line(FD, "") 的
        eof->
             文件:关闭(FD);
        线->
             case LineNo =:= DesiredLine of
             假->
                 %% 写入新文件
                 新线 = 线,
                 for_each_line(FD, LineNo + 1);
             真->
                  %% 做你的事
                  新行 = 行 ++ "字",
                  %% 写入你的文件
              结尾    

    结尾。
于 2013-10-13T17:32:17.010 回答