fread/fwrite関数

#include <stdio.h>
#include <stdlib.h>

#define MAX 10	/*データの個数*/
#define OUTFILE	"result3.txt"	/*出力ファイル名*/

int main()
{
	int i, data[MAX];
	FILE *outStream;
	
	/*データの作成*/
	for(i = 0; i < MAX; i++)
		data[i] = i * i;
	
	/*出力用ファイルのオープン*/
	if((outStream = fopen(OUTFILE, "w")) == NULL){
		printf("ファイル%sがオープンできません。\n", OUTFILE);
		exit(1);
	}
	
	fwrite((void *)data, sizeof(int), MAX, outStream);
	
	/*出力用ファイルのクローズ*/
	fclose(outStream);
	
	return 0;
}
result3.txt(読めない)
          	         $   1   @   Q   
#include <stdio.h>
#include <stdlib.h>

#define MAX 10	/*データの個数*/
#define INFILE	"result3.txt"	/*入力ファイル名*/

int main()
{
	int i, data[MAX];
	size_t max;
	FILE *inStream;
	
	/*入力用ファイルのオープン*/
	if((inStream = fopen(INFILE, "r")) == NULL){
		printf("ファイル%sがオープンできません。\n", INFILE);
		exit(1);
	}
	
	max = fread((void *)data, sizeof(int), MAX, inStream);
	
	for(i = 0; i < (int)max; i++)
		printf("%d\n", data[i]);
		
	/*入力用ファイルのクローズ*/
	fclose(inStream);
	
	return 0;
}
実行結果
0
1
4
9
16
25
36
49
64
81