データの書き込み
学籍番号、氏名、国語、英語、数学の得点を入力し、Zドライブにseiseki.datと言う名前で保存するプログラムを作ってみましょう。
サンプル13−1
#include <stdio.h>
int main()
{
/*変数の設定*/
char name[20];
int num, koku , ei , suu ,retry;
FILE * fp ;
retry = 0;
fp=fopen("seiseki.dat" , "w"); /*ファイルを開いて書き込み*/
while(retry == 0){
printf("学籍番号を入力してください ") ;
scanf("%d" , &num);
printf("氏名を入力してください ";) ;
scanf("%s" , name) ;
printf("国語の点数を入力してください ") ;
scanf("%d" , &koku) ;
printf("英語の点数を入力してください ") ;
scanf("%d" , &ei) ;
printf("数学の点数を入力してください ") ;
scanf("%d" , &suu) ;
fprintf(fp , "%8d%-20s%5d%5d%5d\n" , num , name , koku , ei , suu) ;
printf("追加しますか? yes=0, no=1 ") ;
scanf("%d" , &retry) ;
}
fclose(fp); /*ファイルをクローズ*/
return(0) ;
}
データの出力
サンプル13−2
#include <stdio.h>
int main()
{
/*変数の設定*/
char name[20];
int num, koku , ei , suu ;
FILE * fp ;
fp=fopen("seiseki.dat" , "r");/*ファイルを開いて読み込み*/
while((fscanf(fp,"%d%s%d%d%d" , &num , name , &koku , &ei , &suu)) != EOF)
{
printf("%8d%-20s%5d%5d%5d\n" , num , name , koku , ei , suu) ;
}
fclose(fp); /*ファイルをクローズ*/
return(0) ;
}