fread は主にバイナリファイルを読み込む為のものですので、仮にテキストファイルの内容が
11211
22344
13111
のようになっていて、fread で読み込んでも、得られる値は
1,1,2,1,1,
2,2,3,4,4,
1,3,1,1,1
ではなく
49,49,50,49,49,13,10,
50,50,51,52,52,13,10,
49,51,49,49,49
です( 49は文字『1』を表す値、50は文字『2』を表す値、51は文字『3』を表す値、52は文字『4』を表す値、
13と10は改行を表す値、詳しくは『アスキーコード表』でネット検索してみてください )
同様に fwrite でファイルに書き出す場合も
char Map[3][5] =
{
{ 1,1,2,1,1 },
{ 2,2,3,4,4 },
{ 1,3,1,1,1 },
};
FP = fopen( "map.txt", "wb" );
fwrite( Map, sizeof( Map ), 1, FP );
fclose( FP );
としても、作成される map.txt には何も文字は記録されません( 数値1,2,3,4はそれぞれ文字は割り当てられていないため )
とりあえず 旧sword_map.txt の内容がどのような記述のされ方をしているのか分からないと
ご助言できませんので、旧sword_map.txt の内容を貼り付けていただけないでしょうか?