このディレクトリの索引

http://pc12.2ch.net/test/read.cgi/tech/1260532772/752
# 1] 授業単元: プログラミング
# [2]問題文:http://ime.nu/kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyfmg/10358.txt
#
# ★演習問題2
# fgetc関数とfputc関数を使って,テキストファイルの内容を,別のテキ
# ストファイルにコピーするプログラムを作成しなさい.確認のため,元の
# ファイルとコピーされたテキストファイルの中身の内容を画面にそれぞれ
# 出力せよ

'テキストファイルの内容を,別のテキストファイルにコピーする'(_コピー元ファイル,_コピー先ファイル) :-
    open(_コピー元ファイル,read,Input,[type(binary)]),
    open(_コピー先ファイル,write,Output,[type(binary)]),
    repeat,
    一文字読む(Input,C),
    一文字書き出す(Output,C),
    close(Input),
    close(Output),!.

一文字読む(Input,C) :- get_byte(C).

一文字書き出す(Output,-1) :- !.
一文字書き出す(Output,C) :- put_byte(Output,C),fail.!.

テキストファイルの中身の内容を画面に出力(_コピー元ファイル,_コピー先ファイル) :-
    get_lines(_コピー元ファイル,Lines1),
    get_lines(_コピー先ファイル,Lines2),
    '2テキストを並べて行表示'(Lines1,Lines2),!.

'2テキストを並べて行表示'([],[]) :- !.
'2テキストを並べて行表示'([A|R1],[B|R2]) :-
    write_formatted('%t %t\n',[A,B]),
    '2テキストを並べて行表示'(R1,R2).