回答編集履歴

3

変更

2018/01/07 08:29

投稿

A.Ichi
A.Ichi

スコア4070

test CHANGED
@@ -82,142 +82,148 @@
82
82
 
83
83
  }
84
84
 
85
+
86
+
87
+ printf( "削除前のdata_tel3.txt\n");
88
+
89
+ //linesから1行ずつ取り出す。
90
+
91
+ while(fgets(line, 256, fp1) != NULL)
92
+
93
+ printf( "%s" ,line );
94
+
95
+ printf( "\n");
96
+
97
+ rewind(fp1);
98
+
99
+
100
+
85
101
  printf("修正する名前を検索します。修正する名前を入力して下さい。\n");
86
102
 
87
-
88
-
89
103
  scanf("%s",buff);
90
104
 
91
- //printf("buff=%s\n" ,buff );
105
+
92
-
93
-
94
-
95
- printf( "削除前のdata_tel3.txt\n");
96
-
97
- //linesから1行ずつ取り出す。
98
106
 
99
107
  while(fgets(line, 256, fp1) != NULL){
100
108
 
109
+
110
+
111
+ ptr=strstr(line,buff);
112
+
113
+ if(ptr){
114
+
115
+ printf( "%s" ,line );
116
+
117
+
118
+
119
+ //氏名を修正する。
120
+
121
+ printf("修正する名前を入力して下さい。\n");
122
+
123
+ scanf("%s",buf1);
124
+
125
+ strtok(buf1,"\n");
126
+
127
+ //電話番号を修正する。
128
+
129
+ printf("修正する電話番号を入力して下さい。\n");
130
+
131
+ scanf("%s",buf2);
132
+
133
+ strtok(buf2,"\n");
134
+
135
+ sprintf(line,"%-13s%s\n",buf1,buf2);
136
+
137
+
138
+
139
+ //data_tmp.txtに修正したデータを保存する
140
+
141
+ fputs(line,fp2);
142
+
143
+ }else{
144
+
145
+ //data_tmp.txtに修正する前のデータを保存する
146
+
147
+ // 書き込み
148
+
149
+ fputs(line,fp2);
150
+
151
+ count++;
152
+
153
+ if ( count < 0 ) {
154
+
155
+ count=fprintf(stderr, "ファイルの書込みに失敗しました.\n");
156
+
157
+ return -1;
158
+
159
+ }
160
+
161
+ }
162
+
163
+ }
164
+
165
+ fclose(fp2);
166
+
167
+ fclose(fp1);
168
+
169
+
170
+
171
+ printf("\n\n");
172
+
173
+ fp2 = fopen(dtfile2, "r");
174
+
175
+ fp1 = fopen(dtfile, "w");
176
+
177
+
178
+
179
+ printf( "一時ファイルdata_tmp2.txt\n" );
180
+
181
+ while(fgets(line2, 256, fp2) != NULL){
182
+
183
+ printf( "%s" ,line2 );
184
+
185
+
186
+
187
+ // 書き込み
188
+
189
+ fputs(line2,fp1);
190
+
191
+ count++;
192
+
193
+ if ( count < 0 ) {
194
+
195
+ count=fprintf(stderr, "ファイルの書込みに失敗しました.\n");
196
+
197
+ return -1;
198
+
199
+ }
200
+
201
+ }
202
+
203
+ fclose(fp1);
204
+
205
+ printf("\n\n");
206
+
207
+ fp1 = fopen(dtfile, "r");
208
+
209
+
210
+
211
+ printf( "修正後のdata_tel3.txt\n");
212
+
213
+ while(fgets(line, 256, fp1) != NULL){
214
+
101
215
  printf( "%s" ,line );
102
216
 
103
-
104
-
105
- ptr=strstr(line,buff);
106
-
107
- if(ptr){
108
-
109
- printf( "%s" ,line );
110
-
111
-
112
-
113
- //氏名を修正する。
114
-
115
- printf("修正する名前を入力して下さい。\n");
116
-
117
- scanf("%s",buf1);
118
-
119
- strtok(buf1,"\n");
120
-
121
- //電話番号を修正する。
122
-
123
- printf("修正する電話番号を入力して下さい。\n");
124
-
125
- scanf("%s",buf2);
126
-
127
- strtok(buf2,"\n");
128
-
129
- sprintf(line,"%-13s%s\n",buf1,buf2);
130
-
131
-
132
-
133
- //data_tmp.txtに修正したデータを保存する
134
-
135
- fputs(line,fp2);
136
-
137
- }else{
138
-
139
- //data_tmp.txtに修正する前のデータを保存する
140
-
141
- // 書き込み
142
-
143
- fputs(line,fp2);
144
-
145
- count++;
146
-
147
- if ( count < 0 ) {
148
-
149
- count=fprintf(stderr, "ファイルの書込みに失敗しました.\n");
150
-
151
- return -1;
152
-
153
- }
217
+ }
218
+
219
+
220
+
154
-
221
+ // ファイルクローズ
222
+
155
- }
223
+ fclose(fp1);
156
-
157
- }
158
224
 
159
225
  fclose(fp2);
160
226
 
161
- fclose(fp1);
162
-
163
-
164
-
165
- printf("\n\n");
166
-
167
- fp2 = fopen(dtfile2, "r");
168
-
169
- fp1 = fopen(dtfile, "w");
170
-
171
-
172
-
173
- printf( "一時ファイルdata_tmp2.txt\n" );
174
-
175
- while(fgets(line2, 256, fp2) != NULL){
176
-
177
- printf( "%s" ,line2 );
178
-
179
-
180
-
181
- // 書き込み
182
-
183
- fputs(line2,fp1);
184
-
185
- count++;
186
-
187
- if ( count < 0 ) {
188
-
189
- count=fprintf(stderr, "ファイルの書込みに失敗しました.\n");
190
-
191
- return -1;
192
-
193
- }
194
-
195
- }
196
-
197
- fclose(fp1);
198
-
199
- printf("\n\n");
200
-
201
- fp1 = fopen(dtfile, "r");
202
-
203
-
204
-
205
- printf( "修正後のdata_tel3.txt\n");
206
-
207
- while(fgets(line, 256, fp1) != NULL){
208
-
209
- printf( "%s" ,line );
210
-
211
- }
212
-
213
-
214
-
215
- // ファイルクローズ
216
-
217
- fclose(fp1);
218
-
219
- fclose(fp2);
220
-
221
227
 
222
228
 
223
229
  return 0;

2

変更

2018/01/07 08:29

投稿

A.Ichi
A.Ichi

スコア4070

test CHANGED
@@ -126,7 +126,7 @@
126
126
 
127
127
  strtok(buf2,"\n");
128
128
 
129
- sprintf(line,"%-13s%-13s\n",buf1,buf2);
129
+ sprintf(line,"%-13s%s\n",buf1,buf2);
130
130
 
131
131
 
132
132
 

1

変更

2018/01/07 01:37

投稿

A.Ichi
A.Ichi

スコア4070

test CHANGED
@@ -1,4 +1,4 @@
1
- 勝手に想定して作成しております、ご参考まで
1
+ 勝手に想定して作成しております、一回に一人しかできないものですので、ご参考まで
2
2
 
3
3
 
4
4