このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1280653311/566
#  [1] 授業単元:応用C言語 
#  [2] 問題文(含コード&リンク):  
#  テキストファイルを読み込み、指定された文字列を検索し、指定文字列が含まれている行を抽出して出力するプログラムを作成せよ。 
#  プログラムの実行および引数は以下の通りである。 
#  実行ファイル名 入力ファイル名 検索文字列 出力ファイル名 
#   
#  *1行50文字×1000行以上扱えること 
#  

program :-
        user_parameters([_入力ファイル名,_検索文字列,_出力ファイル名]),
        テキスト検索(_入力ファイル名,_検索文字列,_出力ファイル名).

テキスト検索(_入力ファイル名,_検索文字列,_出力ファイル名) :-
        get_lines(_入力ファイル名,L),
        findall(_行,(
                    append(_,[_行|R],L),
                    行検索(_行,_検索文字列)),
                _検索した行ならび),
        put_lines(_出力ファイル名,_検索した行ならび).

行検索(_行,_検索文字列) :-
        sub_atom(_行,_,_,_,_検索文字列),!.