このディレクトリの索引

# 出典 :: C/C++の宿題片付けます 132代目 #841 # [1] 授業単元: C言語演習編 # [2] 問題文(含コード&リンク): http://ime.nu/kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10252.txt # # 問題1: # 文字列(128文字未満)を読み込み、その長さを表示するプログラムを作成せよ。 # ただし、文字列の走査には、ポインタ変数を使用すること。文字列操作関数を用いないこと。 # # 問題2: # 問題1の読み込み部分をファイル処理に変更せよ。 fgetc()関数を使用すること。 # コマンドラインにファイル名が指定できること。ただし、ファイル名を指定しない場合は標準入力とすること。 '文字列(128文字未満)を読み込み、その長さを表示する' :- get_char(C), '文字列(128文字未満)を読み込む'(C,L), length(L,N), write_formatted('%t文字です\n',[N]). '文字列(128文字未満)を読み込む'('\n',[]) :- !. '文字列(128文字未満)を読み込む'(C,[C|R]) :- get_char(C2), '文字列(128文字未満)を読み込む'(C2,R). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% program :- user_parameters([_ファイル名]), open(_ファイル名,read,Instream), get_char(Instream,C), '文字列(128文字未満)を読み込む'(Instream,C,L), length(L,N), write_formatted('%t文字です\n',[N]), close(Instream). '文字列(128文字未満)を読み込む'(_,'\n',[]) :- !. '文字列(128文字未満)を読み込む'(Instream,C,[C|R]) :- get_char(Instream,C2), '文字列(128文字未満)を読み込む'(Instream,C2,R).