このディレクトリの索引
http://pc12.2ch.net/test/read.cgi/tech/1260532772/216
#  [1] 授業単元: オペレーティングシステム 
#  [2] 問題文(含コード&リンク):  
#   2. 引数に指定した複数のテキストファイルの内容を結合して,一つのファイルにまとめるコマ 
#     ンド(catfiles という名称とする)を作成せよ.ただし,まとめた内容を格納するファイル名は, 
#     “concat.txt”とすること.ただし,cat コマンドをsystem 関数の内部で呼ぶような構成は認め 
#     ない.システムコールとしては,open,close,read,write を用いること.また,結合してまとめ 
#     た結果を格納するファイルが存在しない場合には,creat システムコールを用いて生成するこ 
#     と. 
#   
#     実行 
#     $ catfiles aaa.txt bbb.txt ccc.txt … 
#   
#  

program :-
    user_parameters(_パス名ならび),
    open('concat.txt',write,Output1),
    close(Output1),
    open('concat.txt',append,Output),
    ファイルを書き加える(Output,_パス名ならび),
    close(Output),
    halt.

ファイルを書き加える(Output,[]) :- !.
ファイルを書き加える(Output,[_パス名|R]) :-
    open(_パス名,read,Input),
    get_char(C),
    一文字づつ書き加える(Input,Output,C),
    close(Input),
    ファイルを書き加える(Output,R).

一文字づつ書き加える(_,_,end_of_file) :- !.
一文字づつ書き加える(Input,Output,C) :-
    put_char(Output,C),
    get_char(Input,C2),
    一文字づつ書き加える(Input,Output,C2).