2013-05-31 62 views
0

我想讀取文件,修改行並將結果寫入另一個文件。如何讀取文件並在序言中寫入另一個文件

 

readtofile :- 
    open('inputfile.txt', read, Str), 
    read_file(Str,Lines), 
    close(Str). 


read_file(Stream) :- 
    at_end_of_stream(Stream). 

read_file(Stream) :- 
    \+ at_end_of_stream(Stream), 
    read(Stream), 
    modify(Stream,Stream2), 
    write_file(Stream2),  
    read_file(Stream).  


write_file('outputfile.txt', Phrase) :- 
    open('outputfile.txt', write, Stream), 
    writeln(Stream, Phrase), 
    close(Stream). 

回答

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) 
    ). 

(注:未經測試)

相關問題