このディレクトリの索引
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
# ★演習問題3
# 氏名,年齢,性別が5人分書かれた次のようなテキストファイルを読み
# 込んで、両面に表示するプログラムを作成せよ.このとき,構造体を利用
# せよ.
#  (入力ファイル:test.txtの中身)
#
# Tanaka 31 Man
# Kawai 24 Man
# Suzuki 22 Woman
# ltoh 40 Woman
# Sugita 37 Man 

'テキストファイルの内容を,別のテキストファイルにコピーする'(_コピー元ファイル,_コピー先ファイル) :-
    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).