【課題7−2】
(プログラム例)
#include <stdio.h>
#define NROWS 10
#define NCOLS 10
int main(void) {
FILE
*fp;
char
infile[]="example.dat";
char
outfile[]="example2.txt";
double
buf[NROWS][NCOLS];
int
i, j;
/*
バイナリファイルを読み込みモードでオープン */
if
((fp=fopen(infile, "rb"))==NULL) {
fprintf(stderr,
"Data file open error.\n");
return
1;
}
/*
ファイルの中身を二次元配列bufにまとめて読み込み */
fread(buf,
sizeof(double), NROWS * NCOLS, fp);
fclose(fp);
/*
テキストファイルを書き込みモードでオープン */
if
((fp=fopen(outfile, "w"))==NULL) {
fprintf(stderr,
"Result file open error.\n");
return
1;
}
/*
二次元配列bufの各要素をタブ区切り形式で書き出し */
for
(i = 0; i < NROWS; i++) {
for
(j = 0; j < NCOLS; j++) {
fprintf(fp,
"%f", buf[i][j]);
if
(j == NCOLS-1) {
fprintf(fp,
"\n");
}
else {
fprintf(fp,
"\t");
}
}
}
fclose(fp);
return
0;
}