0

Erlang でファイルの指定された行の末尾に単語を書き込むにはどうすればよいでしょうか。

1行目: 「彼はジョンです」

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

1行目: 「彼はジョン・ドウです。」

これが私ができるすべてです:

 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(ファイル名、モード、DesiredLine) ->
    {ok, FD} = file:open(ファイル名, モード),
    for_each_line(FD, 0, DesiredLine)。

for_each_line(FD, LineNo, DesiredLine) ->
    case io:get_line(FD, "") の
        eof ->
             ファイル:閉じる(FD);
        ライン ->
             case LineNo =:= DesiredLine of
             偽 ->
                 %% 新しいファイルに書き込みます
                 NewLine = 行、
                 for_each_line(FD, LineNo + 1);
             真 ->
                  %% 自分のことをする
                  NewLine = 行 ++ "単語",
                  %% ファイルに書き込みます
              終わり    

    終わり。
于 2013-10-13T17:32:17.010 に答える