質問編集履歴

2

確認用のプログラムを追加

2015/09/16 14:23

投稿

naka_prg
naka_prg

スコア12

test CHANGED
File without changes
test CHANGED
@@ -78,6 +78,22 @@
78
78
 
79
79
  }
80
80
 
81
+
82
+
83
+ //配列に入ったかどうか確認
84
+
85
+ int x , y ;
86
+
87
+ for( y = 0 ; y < 13 ; y++ ) {
88
+
89
+ for( x = 0 ; x < 13 ; x++ ) {
90
+
91
+ printf( "0x%02x ," , Qmap_001[y][x] ) ;
92
+
93
+ }
94
+
95
+ }
96
+
81
97
  fclose(fp);
82
98
 
83
99
 

1

ソースの掲載

2015/09/16 14:23

投稿

naka_prg
naka_prg

スコア12

test CHANGED
File without changes
test CHANGED
@@ -4,10 +4,102 @@
4
4
 
5
5
  マップデータを16進数のバイナリファイルから読み込み、二次元配列へ代入したいのですが思うように動きません。
6
6
 
7
- アドバイスおねがいします。
7
+ アドバイスよろしくおねがいします。
8
+
9
+
10
+
11
+
12
+
13
+ ###ソースコード
14
+
15
+ 自分の実行環境ではブルースクリーンになってしまいました。ご注意ください。
16
+
17
+ ```c
18
+
19
+ /*******************************************************
20
+
21
+ * バイナリファイルから二次元配列へ
22
+
23
+ *
24
+
25
+ *///****************************************************
26
+
27
+ #include <stdio.h>
28
+
29
+
30
+
31
+ int main(void)
32
+
33
+ {
34
+
35
+ FILE *fp ;
36
+
37
+ unsigned char *p ;
38
+
39
+ unsigned char dt ;
40
+
41
+ unsigned char Qmap_001[13][13];
42
+
43
+
44
+
45
+ p = &Qmap_001[0][0];
46
+
47
+
48
+
49
+ fp = fopen("test.bin", "rb");
50
+
51
+
52
+
53
+ /*---EOFにはFFが入っているためそれを表示しない対策---
54
+
55
+ // ループの中の処理の最初に表示させて
56
+
57
+ //最初の数字は先に読み込んでおく
58
+
59
+ */
60
+
61
+ dt = fgetc(fp);
62
+
63
+
64
+
65
+ while (feof(fp) == 0)
66
+
67
+ {
68
+
69
+ dt = fgetc(fp);
70
+
71
+
72
+
73
+ *p = dt;
74
+
75
+
76
+
77
+ (*p)++;
78
+
79
+ }
80
+
81
+ fclose(fp);
82
+
83
+
84
+
85
+ return 0;
86
+
87
+ }
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+ ```
8
98
 
9
99
 
10
100
 
11
101
  ###補足情報(言語/FW/ツール等のバージョンなど)
12
102
 
13
103
  gccコンパイラ
104
+
105
+ ```