回答編集履歴

1

別の方法について追記

2018/10/06 06:32

投稿

pepperleaf
pepperleaf

スコア6383

test CHANGED
@@ -22,4 +22,50 @@
22
22
 
23
23
  ```
24
24
 
25
- にする必要があります。
25
+ にする必要があります。
26
+
27
+
28
+
29
+ [追記]
30
+
31
+ 文字列の全てを変更するならば、色々、方法はありますが、
32
+
33
+ ```C
34
+
35
+ void mystrcpy(char *s1, char *s2)
36
+
37
+ {
38
+
39
+ do {
40
+
41
+ *s1 = *s2;
42
+
43
+ s1++; s2++;
44
+
45
+ } while (*s2 != '\0');
46
+
47
+ *s1 = '\0';
48
+
49
+ }
50
+
51
+ // または、
52
+
53
+ void mystrcpy(char *s1, char *s2, int len)
54
+
55
+ // void mystrcpy(char s1[], char s2[], int len)
56
+
57
+ {
58
+
59
+ int i;
60
+
61
+ for ( i = 0; i < len; i++) {
62
+
63
+ s1[i] = s2[i];
64
+
65
+ }
66
+
67
+ }
68
+
69
+ ```
70
+
71
+ ただし、どちらの方法もs1[] の配列長さの確認を行っていません。注意。