質問編集履歴

2

コードの変更 

2022/01/22 06:46

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -32,7 +32,7 @@
32
32
  return 1;
33
33
  }
34
34
 
35
- fpw = fopen("rabbit.txt", "r");
35
+ fpw = fopen("rabbit.txt", "w");
36
36
  if (fpw == NULL)
37
37
  {
38
38
  printf("file open error!\n");

1

疑問点の追加

2022/01/22 06:27

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
 
2
2
 
3
- ### 前提・実現したいこと
3
+ ### 疑問点
4
4
  dog.txtの"dog"を"rabbit"に置換してrabbit.txtに書き込むプログラムを作成しています。
5
5
  まず、dog.txtの文字列をfgetsで読み込みbufrに格納します。その後、bufwにbufrの配列をコピーします。
6
6
  そして、bufrの中から"dog"を探しそのアドレスをpに格納するというところまでは自力で理解できました。
@@ -8,7 +8,8 @@
8
8
  その後、if(p)のブロックが置換のプログラムだと思うのですが、何をしているのかがわかりません。どういった操作が行われているのでしょうか?
9
9
  特にq = bufw + (p - bufr); strcpy(q + strlen(str2), p + strlen(str1));のコードがわかりません。
10
10
 
11
- ※dog.txt rabbit.txtディレクトリに存在ています
11
+ 加えて、このプログラムをそっくりそのまま実行してもrabbit.txtには書き込みがされませんで
12
+
12
13
 
13
14
  ### 該当のソースコード
14
15