このディレクトリの索引
#  http://toro.2ch.net/test/read.cgi/tech/1392388003/116
#  [1] プログラミング言語 C 
#  [2] 
#  ・ 指定したファイルに文字列を行数を指定して挿入するプログラム(ファイル名と位置,挿入する文字列を入力できるようにする) 
#  ・ また、上記のプログラムを直して文字列を挿入する場所を行だけでなく列も指定できるようにせよ。(まずは半角だけでよい) 
#  
#  [3] 環境 
#   [3.1] OS: Windows Vista 
#   [3.2] コンパイラ名とバージョン: Visual C++ 
#   [3.3] 言語: C 
#  [4] 期限: 3月14日 

'・ 指定したファイルに文字列を行数を指定して挿入するプログラム(ファイル名と位置,挿入する文字列を入力できるようにする
・ また、上記のプログラムを直して文字列を挿入する場所を行だけでなく列も指定できるようにせよ。'(_ファイル名,_行位置,_列位置,_列位置,_文字列) :-
        get_chars(_ファイル名,Chars),
        tell(_ファイル名),
        指定したファイルに文字列を行数と列数を指定して挿入する(Chars,1,_行位置,_列位置,_文字列),
        told.

指定したファイルに文字列を行数と列数を指定して挿入する(Chars,_行位置,_行位置,_列位置,_文字列) :-
        列位置に文字列を書き込む(Chars,_列位置,_文字列),
        残りの文字ならびをファイルに書く(Chars),!.
指定したファイルに文字列を行数と列数を指定して挿入する(['\n'|R],_行位置_1,_行位置,_列位置_文字列) :-
        write('\n'),
        _行位置_2 is _行位置_1 + 1,
        指定したファイルに文字列を行数と列数を指定して挿入する(R,_行位置_2,_行位置,_文字列),!.
指定したファイルに文字列を行数と列数を指定して挿入する([A|R],_行位置_1,_行位置,_文字列) :-
        write(A),
        指定したファイルに文字列を行数と列数を指定して挿入する(R,_行位置_1,_行位置,_列位置,_文字列).

列位置に文字列を書き込む(Chars,_列位置,_文字列) :-
        length([_|L0],_列位置),
        append(L0,Chars2,Chars),
        writef('%t\n',[_文字列]),!.

残りの文字ならびをファイルに書く([]).
残りの文字ならびをファイルに書く([Char|R]) :-
        write(Char),
        残りの文字ならびをファイルに書く(R).