0

ファイルを読み取り、行を変更して、結果を別のファイルに書き込みたいと思います。

readtofile :-
    open('inputfile.txt', read, Str),
    read_file(Str,Lines),
    閉じる(Str)。


read_file(ストリーム) :-
    at_end_of_stream(ストリーム)。

read_file(ストリーム) :-
    \+ at_end_of_stream(ストリーム),
    読み取り (ストリーム),
    変更 (ストリーム、ストリーム 2)、
    write_file(ストリーム2)、    
    read_file(ストリーム)。      


write_file('outputfile.txt', フレーズ) :-
    open('outputfile.txt', 書き込み, ストリーム),
    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 に答える