teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

回答に追記

2019/01/05 07:45

投稿

y_waiwai
y_waiwai

スコア88173

answer CHANGED
@@ -4,4 +4,30 @@
4
4
 
5
5
  第二引数は4としないとダメですね
6
6
 
7
- 使い方がわからない場合はぐぐりましょう。
7
+ 使い方がわからない場合はぐぐりましょう。
8
+
9
+ ---
10
+ このまんまにしとくとアレなので、追記しときます
11
+ strcat_s の第二引数は、格納するバッファのサイズを入れます。
12
+ で、この場合、格納するバッファサイズは、結合後の文字列分のサイズが必要となります。
13
+ 質門のコードの場合は、3文字+3文字+'\0'ということで7以上ないとダメということになりますんで、
14
+ 最小限動かすコードとしては
15
+ ```C
16
+ #include <stdio.h>
17
+ #include <string.h>
18
+
19
+ int main(void) {
20
+
21
+ char str1[7] = "aaa";
22
+ char str2[] = "bbb";
23
+
24
+ // strcat_s(str1,7,str2); // これでもいいけど、わざわざ数字書かなくてもいいように
25
+ strcat_s(str1,sizeof(str1),str2);
26
+
27
+ printf(str1);
28
+
29
+ return 0;
30
+ }
31
+ ```
32
+
33
+ ということになりますね。

1

回答に追記

2019/01/05 07:45

投稿

y_waiwai
y_waiwai

スコア88173

answer CHANGED
@@ -2,4 +2,6 @@
2
2
 
3
3
  > strcat_s(str1,256,str2);
4
4
 
5
- 第二引数は4としないとダメですね
5
+ 第二引数は4としないとダメですね
6
+
7
+ 使い方がわからない場合はぐぐりましょう。