我想使用Prolog读取文本文件,然后附加该文件。我使用以下代码来做到这一点。
readWord(InStream,W) :-
get0(InStream,Char),
checkCharAndReadRest(Char,Chars,InStream),
atom_chars(W,Chars), write(W),write('\n').
checkCharAndReadRest(10,[],_) :- !. % Return
checkCharAndReadRest(32,[],_) :- !. % Space
checkCharAndReadRest(-1,[],_) :- !. % End of Stream
checkCharAndReadRest(end_of_file,[],_) :- !.
checkCharAndReadRest(Char,[Char|Chars],InStream) :-
get0(InStream,NextChar),
checkCharAndReadRest(NextChar,Chars,InStream).
writeWord(end_of_file).
writeWord(X) :-
write(X),nl.
readFile:-
open('output.txt', read, In),
repeat,
readWord(In,W),
writeWord(W),
W == end_of_file, !,
close(In).
adding :-
open('output.txt', append, In),
write(In, 'abc'),
close(In).
示例:
文本文件数据 -
安
csu2280
23
END_OF_FILE
必需的输出 -
三安
csu2280
23
ABC
END_OF_FILE
但我得到了答案
三安
csu2280
23
end_of_fileabc
如何获得所需答案?