0

我想读取一个文件,修改行并将结果写入另一个文件。

读取文件:-
    打开('inputfile.txt',读取,Str),
    read_file(Str,Lines),
    关闭(Str)。


读取文件(流):-
    at_end_of_stream(流)。

读取文件(流):-
    \+ at_end_of_stream(流),
    读取(流),
    修改(流,流 2),
    write_file(Stream2),    
    读取文件(流)。      


write_file('outputfile.txt', 短语) :-
    open('outputfile.txt', write, Stream),
    writeln(流,短语),
    关闭(流)。  

4

1 回答 1

1

我会写类似的东西

tranform_file :-
    open('inputfile.txt', read, I),
    open('outputfile.txt', write, O),
    transform_lines(I, O),
    close(O),
    close(I).

transform_lines(I, O) :-
   read_line_to_codes(I, L),
   (  L == end_of_file
   -> true
   ;  transform_line(L, T),
      format(O, '~s~n', [T]),
      transform_lines(I, O)
   ).

(注:未经测试)

于 2013-05-31T14:06:33.923 回答