2013-05-31 64 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) 
    ). 

(注:未经测试)

相关问题