質問編集履歴

6

インデント修正

2020/05/29 12:12

投稿

rokku
rokku

スコア12

test CHANGED
@@ -1 +1 @@
1
- C言語:fread関数のエラー再現方法
1
+ C言語:fread関数
test CHANGED
File without changes

5

インデント修正

2020/05/29 12:12

投稿

rokku
rokku

スコア12

test CHANGED
File without changes
test CHANGED
@@ -22,25 +22,25 @@
22
22
 
23
23
 
24
24
 
25
- typedef struct
25
+ typedef struct
26
26
 
27
27
  {
28
28
 
29
- char name[16]; /* 名前 */
29
+ char name[16]; /* 名前 */
30
30
 
31
- long hp; /* HP */
31
+ long hp; /* HP */
32
32
 
33
- long mp; /* MP */
33
+ long mp; /* MP */
34
34
 
35
- char level; /* レベル */
35
+ char level; /* レベル */
36
36
 
37
- char strength; /* 強さ */
37
+ char strength; /* 強さ */
38
38
 
39
- char speed; /* 素早さ */
39
+ char speed; /* 素早さ */
40
40
 
41
- char wisdom; /* 賢さ */
41
+ char wisdom; /* 賢さ */
42
42
 
43
- long experience; /* 経験値 */
43
+ long experience; /* 経験値 */
44
44
 
45
45
  }S_STATUS;
46
46
 
@@ -56,7 +56,7 @@
56
56
 
57
57
 
58
58
 
59
- fp = fopen("SaveData.bin","rb");
59
+ fp = fopen("SaveData.bin", "rb");
60
60
 
61
61
 
62
62
 
@@ -68,19 +68,19 @@
68
68
 
69
69
 
70
70
 
71
- while(1){
71
+ while (1) {
72
72
 
73
73
 
74
74
 
75
- if ((feof(fp) != 0)) { /* feof関数 */
75
+ if ((feof(fp) != 0)) { /* feof関数 */
76
76
 
77
- break; /* 0 = ファイルの終端ではない */
77
+ break; /* 0 = ファイルの終端ではない */
78
78
 
79
- } /* 0 != ファイルの終端 */
79
+ } /* 0 != ファイルの終端 */
80
80
 
81
81
 
82
82
 
83
- rtc = fread(character, sizeof(S_STATUS), 1,fp);
83
+ rtc = fread(character, sizeof(S_STATUS), 1, fp);
84
84
 
85
85
 
86
86
 

4

インデント修正

2020/05/29 07:32

投稿

rokku
rokku

スコア12

test CHANGED
File without changes
test CHANGED
@@ -28,9 +28,9 @@
28
28
 
29
29
  char name[16]; /* 名前 */
30
30
 
31
- long hp; /* HP */
31
+ long hp; /* HP */
32
32
 
33
- long mp; /* MP */
33
+ long mp; /* MP */
34
34
 
35
35
  char level; /* レベル */
36
36
 

3

インデント修正

2020/05/29 07:30

投稿

rokku
rokku

スコア12

test CHANGED
File without changes
test CHANGED
@@ -32,9 +32,9 @@
32
32
 
33
33
  long mp; /* MP */
34
34
 
35
- char level; /* レベル */
35
+ char level; /* レベル */
36
36
 
37
- char strength; /* 強さ */
37
+ char strength; /* 強さ */
38
38
 
39
39
  char speed; /* 素早さ */
40
40
 

2

インデント修正

2020/05/29 07:29

投稿

rokku
rokku

スコア12

test CHANGED
File without changes
test CHANGED
@@ -16,6 +16,8 @@
16
16
 
17
17
  main.c
18
18
 
19
+ ```ここに言語を入力
20
+
19
21
  #include<stdio.h>
20
22
 
21
23
 
@@ -26,15 +28,15 @@
26
28
 
27
29
  char name[16]; /* 名前 */
28
30
 
29
- long hp; /* HP */
31
+ long hp; /* HP */
30
32
 
31
- long mp; /* MP */
33
+ long mp; /* MP */
32
34
 
33
- char level; /* レベル */
35
+ char level; /* レベル */
34
36
 
35
37
  char strength; /* 強さ */
36
38
 
37
- char speed; /* 素早さ */
39
+ char speed; /* 素早さ */
38
40
 
39
41
  char wisdom; /* 賢さ */
40
42
 
@@ -70,11 +72,11 @@
70
72
 
71
73
 
72
74
 
73
- if ((feof(fp) != 0)) { /* feof関数 */
75
+ if ((feof(fp) != 0)) { /* feof関数 */
74
76
 
75
- break; /* 0 = ファイルの終端ではない */
77
+ break; /* 0 = ファイルの終端ではない */
76
78
 
77
- } /* 0 != ファイルの終端 */
79
+ } /* 0 != ファイルの終端 */
78
80
 
79
81
 
80
82
 
@@ -98,6 +100,8 @@
98
100
 
99
101
  }
100
102
 
103
+ ```
104
+
101
105
  試したこと
102
106
 
103
107
  fread関数の戻り値についてインターネットで調べた結果、fread関数の第3引数部分の個数が返ってくるという記載があった。

1

行番号の削除

2020/05/29 07:27

投稿

rokku
rokku

スコア12

test CHANGED
File without changes
test CHANGED
@@ -16,81 +16,87 @@
16
16
 
17
17
  main.c
18
18
 
19
- 1 #include<stdio.h>
19
+ #include<stdio.h>
20
-
21
- 2
22
-
23
- 3 typedef struct
24
-
25
- 4 {
26
-
27
- 5 char name[16]; /* 名前 */
28
-
29
- 6 long hp; /* HP */
30
-
31
- 7 long mp; /* MP */
32
-
33
- 8 char level; /* レベル */
34
-
35
- 9 char strength; /* 強さ */
36
-
37
- 10 char speed; /* 素早さ */
38
-
39
- 11 char wisdom; /* 賢さ */
40
-
41
- 12 long experience; /* 経験値 */
42
-
43
- 13 }S_STATUS;
44
-
45
- 14
46
-
47
- 15 void main(void) {
48
-
49
- 16 FILE *fp = NULL;
50
-
51
- 17 S_STATUS character[3] = { 0 };
52
-
53
- 18 int rtc = 0;
54
-
55
- 19
56
-
57
- 20 fp = fopen("SaveData.bin","rb");
58
-
59
- 21
60
-
61
- 22 if (fp == NULL) {
62
-
63
- 23 printf("ファイルオープンエラー");
64
-
65
- 24 }
66
-
67
- 25
68
-
69
- 26 while(1){
70
-
71
- 27
72
-
73
- 28 rtc = fread(character, sizeof(S_STATUS), 1,fp);
74
-
75
- 29
76
-
77
- 30 if (rtc < 1) {
78
-
79
- 31 printf("ファイル読み込みエラー");
80
-
81
- 32 break;
82
-
83
- 33 }
84
-
85
- 34 }
86
-
87
- 35
88
-
89
- 36 fclose(fp);
90
-
91
- 37 }
92
20
 
93
21
 
22
+
23
+ typedef struct
24
+
25
+ {
26
+
27
+ char name[16]; /* 名前 */
28
+
29
+ long hp; /* HP */
30
+
31
+ long mp; /* MP */
32
+
33
+ char level; /* レベル */
34
+
35
+ char strength; /* 強さ */
36
+
37
+ char speed; /* 素早さ */
38
+
39
+ char wisdom; /* 賢さ */
40
+
41
+ long experience; /* 経験値 */
42
+
43
+ }S_STATUS;
44
+
45
+
46
+
47
+ void main(void) {
48
+
49
+ FILE *fp = NULL;
50
+
51
+ S_STATUS character[3] = { 0 };
52
+
53
+ int rtc = 0;
54
+
55
+
56
+
57
+ fp = fopen("SaveData.bin","rb");
58
+
59
+
60
+
61
+ if (fp == NULL) {
62
+
63
+ printf("ファイルオープンエラー");
64
+
65
+ }
66
+
67
+
68
+
69
+ while(1){
70
+
71
+
72
+
73
+ if ((feof(fp) != 0)) { /* feof関数 */
74
+
75
+ break; /* 0 = ファイルの終端ではない */
76
+
77
+ } /* 0 != ファイルの終端 */
78
+
79
+
80
+
81
+ rtc = fread(character, sizeof(S_STATUS), 1,fp);
82
+
83
+
84
+
85
+ if (rtc < 1) {
86
+
87
+ printf("ファイル読み込みエラー");
88
+
89
+ break;
90
+
91
+ }
92
+
93
+ }
94
+
95
+
96
+
97
+ fclose(fp);
98
+
99
+ }
94
100
 
95
101
  試したこと
96
102