質問編集履歴
6
インデント修正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
C言語:fread関数
|
1
|
+
C言語:fread関数
|
body
CHANGED
File without changes
|
5
インデント修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -10,16 +10,16 @@
|
|
10
10
|
```ここに言語を入力
|
11
11
|
#include<stdio.h>
|
12
12
|
|
13
|
-
typedef struct
|
13
|
+
typedef struct
|
14
14
|
{
|
15
|
-
char name[16];
|
15
|
+
char name[16]; /* 名前 */
|
16
|
-
long hp;
|
16
|
+
long hp; /* HP */
|
17
|
-
long mp;
|
17
|
+
long mp; /* MP */
|
18
|
-
char level;
|
18
|
+
char level; /* レベル */
|
19
|
-
char strength;
|
19
|
+
char strength; /* 強さ */
|
20
|
-
char speed;
|
20
|
+
char speed; /* 素早さ */
|
21
|
-
char wisdom;
|
21
|
+
char wisdom; /* 賢さ */
|
22
|
-
long experience;
|
22
|
+
long experience; /* 経験値 */
|
23
23
|
}S_STATUS;
|
24
24
|
|
25
25
|
void main(void) {
|
@@ -27,19 +27,19 @@
|
|
27
27
|
S_STATUS character[3] = { 0 };
|
28
28
|
int rtc = 0;
|
29
29
|
|
30
|
-
fp = fopen("SaveData.bin","rb");
|
30
|
+
fp = fopen("SaveData.bin", "rb");
|
31
31
|
|
32
32
|
if (fp == NULL) {
|
33
33
|
printf("ファイルオープンエラー");
|
34
34
|
}
|
35
35
|
|
36
|
-
while(1){
|
36
|
+
while (1) {
|
37
37
|
|
38
|
-
if ((feof(fp) != 0)) {
|
38
|
+
if ((feof(fp) != 0)) { /* feof関数 */
|
39
|
-
break;
|
39
|
+
break; /* 0 = ファイルの終端ではない */
|
40
|
-
}
|
40
|
+
} /* 0 != ファイルの終端 */
|
41
41
|
|
42
|
-
rtc = fread(character, sizeof(S_STATUS), 1,fp);
|
42
|
+
rtc = fread(character, sizeof(S_STATUS), 1, fp);
|
43
43
|
|
44
44
|
if (rtc < 1) {
|
45
45
|
printf("ファイル読み込みエラー");
|
4
インデント修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -13,8 +13,8 @@
|
|
13
13
|
typedef struct
|
14
14
|
{
|
15
15
|
char name[16]; /* 名前 */
|
16
|
-
long hp;
|
16
|
+
long hp; /* HP */
|
17
|
-
long mp;
|
17
|
+
long mp; /* MP */
|
18
18
|
char level; /* レベル */
|
19
19
|
char strength; /* 強さ */
|
20
20
|
char speed; /* 素早さ */
|
3
インデント修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -15,8 +15,8 @@
|
|
15
15
|
char name[16]; /* 名前 */
|
16
16
|
long hp; /* HP */
|
17
17
|
long mp; /* MP */
|
18
|
-
char level; /* レベル
|
18
|
+
char level; /* レベル */
|
19
|
-
char strength; /* 強さ
|
19
|
+
char strength; /* 強さ */
|
20
20
|
char speed; /* 素早さ */
|
21
21
|
char wisdom; /* 賢さ */
|
22
22
|
long experience; /* 経験値 */
|
2
インデント修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -7,16 +7,17 @@
|
|
7
7
|
|
8
8
|
該当のソースコード
|
9
9
|
main.c
|
10
|
+
```ここに言語を入力
|
10
11
|
#include<stdio.h>
|
11
12
|
|
12
13
|
typedef struct
|
13
14
|
{
|
14
15
|
char name[16]; /* 名前 */
|
15
|
-
long hp;
|
16
|
+
long hp; /* HP */
|
16
|
-
long mp;
|
17
|
+
long mp; /* MP */
|
17
|
-
char level;
|
18
|
+
char level; /* レベル */
|
18
19
|
char strength; /* 強さ */
|
19
|
-
char speed;
|
20
|
+
char speed; /* 素早さ */
|
20
21
|
char wisdom; /* 賢さ */
|
21
22
|
long experience; /* 経験値 */
|
22
23
|
}S_STATUS;
|
@@ -34,9 +35,9 @@
|
|
34
35
|
|
35
36
|
while(1){
|
36
37
|
|
37
|
-
if ((feof(fp) != 0)) { /* feof関数
|
38
|
+
if ((feof(fp) != 0)) { /* feof関数 */
|
38
|
-
break;
|
39
|
+
break; /* 0 = ファイルの終端ではない */
|
39
|
-
}
|
40
|
+
} /* 0 != ファイルの終端 */
|
40
41
|
|
41
42
|
rtc = fread(character, sizeof(S_STATUS), 1,fp);
|
42
43
|
|
@@ -48,5 +49,6 @@
|
|
48
49
|
|
49
50
|
fclose(fp);
|
50
51
|
}
|
52
|
+
```
|
51
53
|
試したこと
|
52
54
|
fread関数の戻り値についてインターネットで調べた結果、fread関数の第3引数部分の個数が返ってくるという記載があった。
|
1
行番号の削除
title
CHANGED
File without changes
|
body
CHANGED
@@ -7,43 +7,46 @@
|
|
7
7
|
|
8
8
|
該当のソースコード
|
9
9
|
main.c
|
10
|
-
|
10
|
+
#include<stdio.h>
|
11
|
-
2
|
12
|
-
3 typedef struct
|
13
|
-
4 {
|
14
|
-
5 char name[16]; /* 名前 */
|
15
|
-
6 long hp; /* HP */
|
16
|
-
7 long mp; /* MP */
|
17
|
-
8 char level; /* レベル */
|
18
|
-
9 char strength; /* 強さ */
|
19
|
-
10 char speed; /* 素早さ */
|
20
|
-
11 char wisdom; /* 賢さ */
|
21
|
-
12 long experience; /* 経験値 */
|
22
|
-
13 }S_STATUS;
|
23
|
-
14
|
24
|
-
15 void main(void) {
|
25
|
-
16 FILE *fp = NULL;
|
26
|
-
17 S_STATUS character[3] = { 0 };
|
27
|
-
18 int rtc = 0;
|
28
|
-
19
|
29
|
-
20 fp = fopen("SaveData.bin","rb");
|
30
|
-
21
|
31
|
-
22 if (fp == NULL) {
|
32
|
-
23 printf("ファイルオープンエラー");
|
33
|
-
24 }
|
34
|
-
25
|
35
|
-
26 while(1){
|
36
|
-
27
|
37
|
-
28 rtc = fread(character, sizeof(S_STATUS), 1,fp);
|
38
|
-
29
|
39
|
-
30 if (rtc < 1) {
|
40
|
-
31 printf("ファイル読み込みエラー");
|
41
|
-
32 break;
|
42
|
-
33 }
|
43
|
-
34 }
|
44
|
-
35
|
45
|
-
36 fclose(fp);
|
46
|
-
37 }
|
47
11
|
|
12
|
+
typedef struct
|
13
|
+
{
|
14
|
+
char name[16]; /* 名前 */
|
15
|
+
long hp; /* HP */
|
16
|
+
long mp; /* MP */
|
17
|
+
char level; /* レベル */
|
18
|
+
char strength; /* 強さ */
|
19
|
+
char speed; /* 素早さ */
|
20
|
+
char wisdom; /* 賢さ */
|
21
|
+
long experience; /* 経験値 */
|
22
|
+
}S_STATUS;
|
23
|
+
|
24
|
+
void main(void) {
|
25
|
+
FILE *fp = NULL;
|
26
|
+
S_STATUS character[3] = { 0 };
|
27
|
+
int rtc = 0;
|
28
|
+
|
29
|
+
fp = fopen("SaveData.bin","rb");
|
30
|
+
|
31
|
+
if (fp == NULL) {
|
32
|
+
printf("ファイルオープンエラー");
|
33
|
+
}
|
34
|
+
|
35
|
+
while(1){
|
36
|
+
|
37
|
+
if ((feof(fp) != 0)) { /* feof関数 */
|
38
|
+
break; /* 0 = ファイルの終端ではない */
|
39
|
+
} /* 0 != ファイルの終端 */
|
40
|
+
|
41
|
+
rtc = fread(character, sizeof(S_STATUS), 1,fp);
|
42
|
+
|
43
|
+
if (rtc < 1) {
|
44
|
+
printf("ファイル読み込みエラー");
|
45
|
+
break;
|
46
|
+
}
|
47
|
+
}
|
48
|
+
|
49
|
+
fclose(fp);
|
50
|
+
}
|
48
51
|
試したこと
|
49
52
|
fread関数の戻り値についてインターネットで調べた結果、fread関数の第3引数部分の個数が返ってくるという記載があった。
|