質問編集履歴

2

削除された内容の復元を行いました

2020/02/04 05:01

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- 中身が同じか調べたい ソート
1
+ ファイルの中身が同じかどうか調べたい
test CHANGED
@@ -1,10 +1,52 @@
1
- 循環た整数計算し出力に書き出すプログラムですいまいち内容よく分かりません
1
+ 複数のファイルが用意てある時、その中のファイルで中身が同じものがあるかどうか調べるプログラムを作りたいです。 そのために二つのファイルの中身同じであるどうかを調べる必要有り。
2
2
 
3
- 自体書いみましが。所何処間違っている思われます。
3
+ 調べる対象の二つのファイルのファイル名は、マン行(コマンドライン)から与える。中身が同一であれば、 二つのファイルの名前「,」で区切っ並べ後に「: IDENTICAL」出力し、 そうでなければ「: DIFFERENT」出力るようにする
4
4
 
5
- 詳し細かく教えて下さい宜しくお願いしす。
5
+ まず、与えられた二つのファイル名につられた順にその名前を「,」で区切りながら書き出し行くこのとき合わせてそのファイルが開けることを確認する。 どちらかが開けなとわかった時には、その時点でそのファイル名の直後に「: can't open.」と書き出て改行をした上で実行を終了 ( return 0; )この結果、1番目のファイル名でファイルが開けなかったときは最初のファイル名の直後に「: can't open.」が続くことになり、2番目のファイル名でファイルが開けなかったときは「,」で区切られて2つのファイル名が並び、その2番目のファイル名の直後に「: can't open.」が並ぶことになる。
6
6
 
7
- 追加・削除箇所も教え下さ。宜くお願い致します
7
+ ■つぎのファイル群が実行環境に用意されているとします
8
+
9
+ **ファイル名**    **内容**
10
+
11
+ data1.txt   ABCD EFG
12
+
13
+ data2.txt ABCD EfG
14
+
15
+ data3.txt ABCD EFG
16
+
17
+ ■コマンドライン入力
18
+
19
+ data1.txt data2.txt
20
+
21
+ 正解出力
22
+
23
+ data1.txt, data2.txt: DIFFERENT
24
+
25
+ ■コマンドライン入力
26
+
27
+ data3.txt data1.txt
28
+
29
+ 正解出力
30
+
31
+ data3.txt, data1.txt: IDETICAL
32
+
33
+ ■コマンドライン入力
34
+
35
+ data4.txt data1.txt
36
+
37
+ 正解出力
38
+
39
+ data4.txt: can't open.
40
+
41
+ ■コマンドライン入力
42
+
43
+ data3.txt data1.c
44
+
45
+ 正解出力
46
+
47
+ data3.txt, data1.c: can't open.
48
+
49
+
8
50
 
9
51
 
10
52
 
@@ -20,9 +62,15 @@
20
62
 
21
63
 
22
64
 
23
-
65
+ #define fn "data1.txt"
24
66
 
67
+ #define gn "data2.txt"
68
+
69
+ FILE *f, *g;
70
+
25
- f=5 ; g= f(gn,"");
71
+ f= fopen(fn, "r"); g= fopen(gn,"r");
72
+
73
+
26
74
 
27
75
  if( f==NULL){
28
76
 
@@ -30,7 +78,17 @@
30
78
 
31
79
  }
32
80
 
81
+ g= fopen(gn, "r");
82
+
83
+ if( g==NULL){
84
+
85
+ printf("NG:%s\n",gn); exit(-1);
86
+
33
- g=
87
+ }
88
+
89
+ int cf, cg;
90
+
91
+
34
92
 
35
93
  while( (cf= fgetc(f))!=EOF &&
36
94
 
@@ -40,9 +98,11 @@
40
98
 
41
99
  }
42
100
 
43
- if( !(cf==EOF) )
101
+ if( !(cf==EOF && fgetc(g)==EOF) )
44
102
 
103
+ printf("%s and %s differ.\n", fn,gn);
104
+
45
- printf("%sose(g);
105
+ fclose(f); fclose(g);
46
106
 
47
107
 
48
108
 

1

一部変更

2020/02/04 05:01

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- ファイルの中身が同じかどうか調べたい
1
+ 中身が同じか調べたい ソート
test CHANGED
@@ -1,120 +1,10 @@
1
- のファイルが用意てある時、その中のファイルで中身が同じものがあるかどうかを調べるプログラムを作りたいです。 そのために二つのファイルの中身同じであるどうかを調べる必要有り。
1
+ 循環した整を計算出力に書き出すプログラムですいまいち内容よく分かりません
2
2
 
3
+ コード自体を書いてみましたが。所何処と間違っていると思われます。
3
4
 
5
+ 詳しい方、細かく教えて下さい。宜しくお願いします。
4
6
 
5
- 調べる対象の二つのファイルのファイル名は、コマンド行(コマンドライン)から与中身が同一であれば、 二つのファイルの名前を「,」で区切って並べた後に「: IDENTICAL」と出力、 そうでなければ「: DIFFERENT」と出力るようにする
6
-
7
-
8
-
9
- まず、与えられた二つのファイル名について、 与えられた順にその名前を「,」で区切りながら書き出して行く。このとき合わせてそのファイルが開けることを確認する。 どちらかが開けないとわかった時には、その時点でそのファイル名の直後に「: can't open.」と書き出して改行をした上で実行を終了 ( return 0; )する。この結果、1番目のファイル名でファイルが開けなかったときは最初のファイル名の直後に「: can't open.」が続くことになり、2番目のファイル名でファイルが開けなかったときは「,」で区切られて2つのファイル名が並び、その2番目のファイル名の直後に「: can't open.」が並ぶことになる。
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
- ■つぎのファイル群が実行環境に用意されているとします
18
-
19
- **ファイル名**    **内容**
20
-
21
- data1.txt   ABCD EFG
22
-
23
-
24
-
25
- data2.txt ABCD EfG
26
-
27
-
28
-
29
- data3.txt ABCD EFG
30
-
31
-
32
-
33
-
34
-
35
-
36
-
37
- ■コマンドライン入力
38
-
39
-
40
-
41
- data1.txt data2.txt
42
-
43
-
44
-
45
- 正解出力
46
-
47
-
48
-
49
- data1.txt, data2.txt: DIFFERENT
50
-
51
-
52
-
53
-
54
-
55
-
56
-
57
- ■コマンドライン入力
58
-
59
-
60
-
61
- data3.txt data1.txt
62
-
63
-
64
-
65
- 正解出力
66
-
67
-
68
-
69
- data3.txt, data1.txt: IDETICAL
70
-
71
-
72
-
73
-
74
-
75
-
76
-
77
- ■コマンドライン入力
78
-
79
-
80
-
81
- data4.txt data1.txt
82
-
83
-
84
-
85
- 正解出力
86
-
87
-
88
-
89
- data4.txt: can't open.
90
-
91
-
92
-
93
-
94
-
95
-
96
-
97
- ■コマンドライン入力
98
-
99
-
100
-
101
- data3.txt data1.c
102
-
103
-
104
-
105
- 正解出力
106
-
107
-
108
-
109
- data3.txt, data1.c: can't open.
110
-
111
-
112
-
113
-
114
-
115
-
116
-
117
-
7
+ 追加・削除箇所も教て下さいくお願い致します。
118
8
 
119
9
 
120
10
 
@@ -128,15 +18,11 @@
128
18
 
129
19
 
130
20
 
131
- #define fn "data1.txt"
132
-
133
- #define gn "data2.txt"
134
21
 
135
22
 
23
+
136
24
 
137
- FILE *f, *g;
138
-
139
- f= fopen(fn, "r"); g= fopen(gn,"r");
25
+ f=5 ; g= f(gn,"");
140
26
 
141
27
  if( f==NULL){
142
28
 
@@ -144,19 +30,7 @@
144
30
 
145
31
  }
146
32
 
147
- g= fopen(gn, "r");
148
-
149
- if( g==NULL){
150
-
151
- printf("NG:%s\n",gn); exit(-1);
152
-
153
- }
33
+ g=
154
-
155
-
156
-
157
- int cf, cg;
158
-
159
-
160
34
 
161
35
  while( (cf= fgetc(f))!=EOF &&
162
36
 
@@ -166,11 +40,9 @@
166
40
 
167
41
  }
168
42
 
169
- if( !(cf==EOF && fgetc(g)==EOF) )
43
+ if( !(cf==EOF) )
170
44
 
171
- printf("%s and %s differ.\n", fn,gn);
172
-
173
- fclose(f); fclose(g);
45
+ printf("%sose(g);
174
46
 
175
47
 
176
48