湘南工科大学 2013年12月3日 情報理論2 湘南工科大学情報工学科 准教授 小林 学 [例題1] ファイルへの出力プログラム Page 2 #include<stdio.h> void main(void){ int i, Data[8]={5, 2, 3, 8, 1, 4, 7, 6}; 開くファイル名 テキストの書込は「w」 FILE *fp; fp=fopen("data.txt","w"); for(i=0;i<8;i++) fprintf(fp,"%d\n",Data[i]); printfとほぼ一緒 } fclose(fp); [プログラミング課題1] 例題1のプログラムを作成し,提出しなさい. [実行結果] 「data.txt」ファイルの中身は以下 Page 3 [例題2] ファイルからの入力プログラム #include<stdio.h> void main(void){ int i, Data[8]; 開くファイル名 FILE *fp; Page 4 テキストの読込は「r」 fp = fopen("data.txt","r"); for(i=0;i<8;i++) fscanf(fp,"%d", &Data[i]); fclose(fp); scanfとほぼ一緒 } for(i=0;i<8;i++) printf("%d\n", Data[i]); [プログラミング課題2] 例題2のプログラムを作成し,提出しなさい. [紙に書く課題1] ファイルへの出力プログラム Page 5 以下のプログラムを実行し,おおよその実行時間(秒)とファイル 「data.txt」のファイルサイズを演習の紙に書きなさい. [紙に書く課題2] ファイルからの入力プログラム Page 6 以下のプログラムを実行し,おおよその実行時間(秒)と画面出力を 演習の紙に書きなさい.ただし前ページの結果の「data.txt」をフォ ルダに入れておくこと. [例題3] ファイルへの出力プログラム(バイナリ) Page 7 #include<stdio.h> void main(void){ int Data[8]={5, 2, 3, 8, 1, 4, 7, 6}; 開くファイル名 バイナリの書込は「wb」 FILE *fp; fp=fopen("data.dat","wb"); 配列 Data の先頭から 8 個分を一気にファイルにバイナリ出力 fwrite(Data, } fclose(fp); 4, 1データのバイト数 int の場合は 4 double の場合は 8 8, fp); 一気に書き込む データ数 [プログラミング課題3] 例題3のプログラムを作成し,提出しなさい. [実行結果] Page 8 「data.dat」ファイルの中身をテキストエディタで開くと以下 バイナリファイルなので,テキストエディタでは見えない!!! 見えたとしてもめちゃくちゃな文字列になる (画像ファイルをテキストエディタで開くようなもの) [例題4] バイナリファイルからの入力プログラム #include<stdio.h> void main(void){ int i, Data[8]; 開くファイル名 FILE *fp; Page 9 バイナリの読込は「rb」 fp = fopen("data.dat","rb"); バイナリファイルから配列 Data の先頭に 8 個分を一気に読み込む fread(Data, fclose(fp); } 4, 1データのバイト数 int の場合は 4 double の場合は 8 8, fp); 一気に読み込む データ数 for(i=0;i<8;i++) printf("%d\n", Data[i]); [プログラミング課題4] 例題4のプログラムを作成し,提出しなさい. [紙に書く課題3] ファイルへの出力プログラム Page 10 以下のプログラムを実行し,おおよその実行時間(秒)とファイル 「data.dat」のファイルサイズを演習の紙に書きなさい. [紙に書く課題4] ファイルからの入力プログラム Page 11 以下のプログラムを実行し,おおよその実行時間(秒)と画面出力を 演習の紙に書きなさい.ただし前ページの結果の「data.dat」をフォ ルダに入れておくこと. Page 12 [紙に書く課題5] 以下のように,テキスト形式のファイル出力,ファイル入力と,バイ ナリ形式でのファイル出力,ファイル入力のそれぞれの長所と短所 を書きなさい [テキスト形式] 長所: 短所: [バイナリ形式] 長所: 短所: [紙に書く課題6] 授業ホームページから「kadai.dat」のバイナリファイルをダウンロー ドし,このファイルの中身を先頭から10個分を紙に書きなさい. なお,このファイルは int 型(4バイト)の数値が100個分書き込まれ ている. [プログラミング課題5] Page 13 以下のプログラムを改良して,素数のみファイル(prime.txt)に出力 するプログラムを作成しなさい.実行結果を次ページに示す. [実行結果] 「prime.txt」ファイルの中身は以下 Page 14 [プログラミング課題6] Page 15 以下のプログラムを改良して,素数のみファイル(prime.txt)にテキ スト出力するプログラムを作成しなさい.実行結果を次ページに示 す. [プログラミング課題7] Page 16 課題5で作成した「prime.txt」から,配列 int data[10] にデータを 10個分読み込んで,それぞれを画面に表示するプログラムを作成 し,提出しなさい.
© Copyright 2025 ExpyDoc